Webを支える技術:4章・5章:URI

スポンサーリンク

Webを支える技術とは?

技術評者社から出されている技術書で、以下は公式サイトからの概要引用です。

Webは誕生から20年で爆発的な普及を果たし,17億人のユーザと2億台のサーバを抱える巨大システムへと成長しました。Webがここまで成功した秘密は,その設計思想,いわゆるアーキテクチャにあります。Webのアーキテクチャ,そしてHTTP,URI,HTMLといったWebを支える技術は,Webがどんなに巨大化しても対応できるように設計されていたのです。

私たちが作る個々のWebサービスも,Webのアーキテクチャにのっとることで成功へとつながります。Webのアーキテクチャに正しく適応したWebサービスは,情報が整理され,ユーザの使い勝手が向上し,ほかのサービスと連携しやすくなり,将来的な拡張性が確保されるからです。

本書のテーマは,Webサービスの実践的な設計です。まずHTTPやURI,HTMLなどの仕様を歴史や設計思想を織り交ぜて解説します。そしてWebサービスにおける設計課題,たとえば望ましいURI,HTTPメソッドの使い分け,クライアントとサーバの役割分担,設計プロセスなどについて,現時点のベストプラクティスを紹介します。

引用:http://gihyo.jp/magazine/wdpress/plus/978-4-7741-4204-3/

Webを支える技術 HTTP、URI、HTML、そしてREST (WEB+DB press plusシリーズ) [ 山本陽平 ]

4章:URIの仕様、5章:URIの設計をまとめてみました。

4章:URIの仕様

URIの重要性

URIを使うとWeb上に存在するすべてのリソースを一意に示すことができる。

URIの構文

例:http://blog.example.jp/entries/1

  • URIスキーム:http、URIが利用するプロトコル
  • ホスト名  :blog.example.jp、ドメイン名かIPアドレス
  • パス    :/entries/1、ホスト内でのリソースの場所

これらを組み合わせることで、あるリソースのURIは世界中で必ず一意になる。

絶対URIと相対URI

  • 絶対URI:URIスキームやホスト名を含んだURI
  • 相対URI;パスだけで表記

URIと文字

  • アルファベット:A-Za-z
  • 数字     :0-9
  • 記号     :-.~:@!$&'()

これらを総称してASCII文字と呼ぶ。
日本語などは%エンコーディングされる。

5章:URIの設計

クールなURIは変わらない

  • Tim Berners-Leeの発言
  • お気に入りのサイトがある日突然見れなくなるなどはあってはならない
  • Webはリンク先が生きているかを確認しない一方向性のハイパーメディア
  • リンクがある日切れることはハイパーメディアが機能しないことを意味する

URIを代わりにくくするためには

  • プログラミング言語に依存した拡張子やパスを含めない
    • .plなど
    • /LoginServlet/などのキャメルケース
  • メソッド名やセッションIDを含めない
    • ?action=showPageなどはメソッド名が変わった時にURLが変わる
    • ?jsessionid=12345678などのセッション名
  • URIはリソースを表現する名刺にする
    • people/show/123など、showという動詞をいれない

URIを変更したい時

  • どうしても変更したいときはリダイレクトするようにする
  • リダイレクトとは古いURIを新しいURIに転送するHTTPのしくみ
          
    

スポンサーリンク

  
Scroll Up