nonoswitch's diary

気が向いた時に書き込むやつ

【読んだ】Webを支える技術 POSTとPUTメソッドの使い分け

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

研究室の同期の机に置いてあったので読んでみました。
REST,URI設計,HTTPの仕組み,HTML,Atom,JSONなどについて内容が整理されていて、個人的にはHTTPメソッドのトピックが読んでいて気になりました。

ちょこっとHTMLを書いたことのある人なら「GETとPOSTはformタグ周りで使うよなー」ってくらいの感覚はあると思います。僕の場合は、2年前くらいにとあるソーシャルゲームプラットフォームのAPIを利用してサービスを開発していたときにPUTとDELETEメソッドが出てきて「POSTとPUTって何が違うんだろ、POST使えば何でもできるやん!」とか思ってました。そしたら

POSTでリソースを作成する場合、クライアントはリソースのURIを指定出来ません。
(中略)逆にPUTでリソースを作成する場合、リソースのURIはクライアントが決定できます

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

 

というPOSTとPUTの使い分けに関する説明が。URIをサーバ側が決めるようなサービスはPOSTで、クライアント側が決めることができるものはPUTが適しているようです。ただ、使い分けに正解は存在しないとも書かれていました、うむぅ。


他のトピックだと、HTTP1.0と1.1の違いについては昨年度の大学のネットワーク実験でkeep-aliveやheader内容の違いを計測(tcpdumpして細々と追ったりもしたり)してたので楽しかったです。あと、ステータスコードを説明している本って必ずといっていいほどHTTPステータスコード418の説明が書いてあって面白い...w