Webを支える技術を読んだので朝の勉強会用まとめ。
RESTについて
RESTとは次の6つを組み合わせたアーキテクチャスタイルのこと
- クライアント/サーバ
- ステートレスサーバ
- キャッシュ
- 統一インターフェース
- 階層化システム
- コードオンデマンド
そしてRESTの制約に従っていてRESTらしいことをRESTfulと呼ぶ
URIについて
HTTPについて
- HTTPの代表的なメソッドはGET、POST、PUT、DELETE
- GETはリソースの取得に使用する
- POSTはリソースの作成・追加に使用する
- PUTはリソースの更新・作成に使用する
- DELETEはリソースの削除に使用する
- リソースの作成にはURIを指定するかどうかで使い分ける。POSTで作成するときに利用するURIをファクトリーリソースという
- GET,PUT,DELETEは何度実行しても同じ結果(べき等)であるべきである
- GETはリソースの状態を変化させない(安全)べきである
- HTMLのフォームがサポートしていないPUT、DELETEを使うためにRuby on Railsなどでは_methodパラメータというフォームの隠しパラメータを使う。もしくはX-HTTP-Method-Overrideをヘッダに加える
- Webサービス設計について