Webを支える技術(2)

実施日時:2020/9/9
対象範囲:第4章~第5章
参加者:くめごん、よりどり、よーだい、kassyi

第4章
URIとは「リソースを統一的に識別するID」のこと
一意に決めるのはURIの構文にある
http://blog.example.jp/entries/1
このURIを構成するパーツは次のようになります。
・URIスキーム:http
・ホスト名:blog.example.jp
・パス:/entries/1
ホスト名は、ドメイン名かIPアドレスで必ず一意になる
http://yohei:pass@blog.example.jp:8000/search?q=test&debug=true#n10
このURIは次のように分けられる。
・URIスキーム:http
・ユーザ情報:yohei:pass
・ホスト名:blog.example.jp
・ポート番号:8000
・パス:/search
・クエリパラメータ:q=test&debug=true
・URIフラグメント:#n10
相対URIの起点となるURIがベースURIと呼ぶ
相対URIを絶対URIに変換するにはベースURIが必要
HTMLで<head>要素に<base>要素を入れるとベースURIを明示できる
URIに文字を入れるにはASCII文字である必要
ASCII文字以外は%エンコーディングが必要
URIは大文字小文字を区別するが、%エンコーディングでは大文字の使用を推奨
文字エンコーディングはUTF-8を使用するのが無難
URIスキームの公式はIANAが管理して70以上のスキームがある
URI:URLとURNを総称するもの
URL:リソースの場所を示すもの
URN:ドメイン名と独立したIDでリソースを取得できない

5章
URIにはきれいなURIがあり「クールURI」と呼ぶ
変わらないURIこそ最上のURI
URIは変わるものなので、変わり辛いURIにする
・URIにプログラミング言語依存の拡張子を利用しない(.pl、.rb、.do、.jspなど)
・URIに実装依存のパス名を利用しない(cgi-bin、servletなど)
・URIにプログラミング言語のメソッド名を利用しない
・URIにセッションIDを含めない
・URIはそのリソースを表現する名詞である
  ⇒URIとHTTPメソッドの関係は名詞と動詞の関係にある
   URIは全体で名詞にする
クールURIとはシンプルなURIでもある
どうしてもURIを変更したいときは、できる限りリダイレクトする
実装に依存した拡張子は悪だが依存しない拡張子は良い面を持つ
コンテントネゴシエーションにより自動的にブラウザの言語に沿った言語のページを返される
なので、拡張子に.jpや.enなどの拡張子を付けて表現を分ける。
その他、.htmlや.txtや.jsonなどでリソースを分けられる
独立したパラメータを表現するには、カンマ(,)やセミコロン(;)を使用する
カンマは順序に意味があり、セミコロンは順序は無関係
クライアント側でURIを組み立てたりリソースを推測できない事を「クライアントにとって不透明」と呼ぶ
URIは不透明である事を意識するべき

この記事が気に入ったらサポートをしてみませんか?