Webを支える技術 第5章 URIの設計

  • 「良いURI(Cool URI)」とは変化しないURI
  • URI を変更する時には新しいURIへリダイレクト
  • 内容の表現を指定するために拡張子を使う
    • 言語を指定するために使う(.en, .ja など)
      • コンテントネゴシエーション。Accept-Languageヘッダでどの言語で表示するかを自動で切り替える
      • 拡張子を明示的に指定すれば望んだ言語を(ブラウザの設定を変更せず)表示できる
    • フォーマットを指定するために拡張子を使う(.html, .json など)
  • Matrix URI
    • 複数の次元のパラメータの組み合わせでリソースを指定したい(単純なツリー状の階層構造でない)時に使う
    • パラメータをスラッシュ(/)のかわりにセミコロン(;)で区切って表現する
      • デリミタとして ";" を使うと順序が意味を持たない (ex. lat=35;lng=140)
      • デリミタとして "," を使うと順序が意味を持つ (ex. 35,140)
        • 順序が意味を持たない場合は同じリソースを差すのに複数の表現が可能になりますね
  • URIの不透明性
    • press.ja と press.en があるといっても press.fr があるとは限らない。クライアントがURIを自由に組み立てられない