Webを支える技術を読んだメモ

Webを支える技術を読んだので朝の勉強会用まとめ。

RESTについて

RESTとは次の6つを組み合わせたアーキテクチャスタイルのこと

  • クライアント/サーバ
  • ステートレスサーバ
  • キャッシュ
  • 統一インターフェース
  • 階層化システム
  • コードオンデマンド

そしてRESTの制約に従っていてRESTらしいことをRESTfulと呼ぶ

URIについて

  • URIとは「リソースを統一的に識別するID」のことである
  • よいURIは変わらない(.plとかcgi-binとか含まない、名詞である)
  • 拡張子で表現を指定する(.json .xmlなど)

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をヘッダに加える
  1. Webサービス設計について