WEB道楽

WEB道楽

【WEBを支える技術】URI仕様編

URIとはなにか

1.URIの重要性

  • URIとは
    • リソースを統一的に識別するID
    • WEB上に存在するすべてのリソースにアクセスできる

2.URIの構文

  • 簡単なURI(静的なリソースへのアクセス)
    例)https://gentlemans.hatenablog.com/entry/2020/05/18/083534

    - URIスキーム : https
    - ホスト名 : gentlemans.hatenablog.com
    - パス : /entry/2020/05/18/083534
    

    静的なリソースへのアクセス

  • 複雑なURI(動的なリソースへのアクセス)
    例)https://www.hatena.ne.jp/o/search/top?q=WEBを支える技術#gsc.tab=0&gsc.q=WEBを支える技術&gsc.page=1

    - URIスキーム : https
    - ホスト名 : www.hatena.ne.jp
    - パス : /o/search/top
    - クエリパラメータ : q=WEBを支える技術
    - URIフラグメント : #gsc.tab=0&gsc.q=WEBを支える技術&gsc.page=1
    
    • 【補足】
      簡単なURIと比べて、クエリパラメータとURIフラグメントが増えています。
      簡単なURIではWEBサイト上に固定されたページがあるのに対し、複雑なURIでは固定されたページがあるわけではなく、 検索結果を動的に作成し、リソースへアクセスしているように見せています。
      つまり、クエリパラメータとURIフラグメントは動的にリソースを作成するためのパラメータとなっているということです。

動的なリソースへのアクセス

3.絶対URIと相対URI

絶対URI

ルートディレクトリからリソースまでをディレクトリを「/」で区切って記述するURI

相対URI

絶対パスの冗長性を防ぐために起点を決めて、記述するURI

ベースURI

相対URIで指定する際の起点となるURI

指定方法

  • リソースのURIをベースURIとする方法

    • メリット
      直感的にわかりやすい
    • デメリット
      ベースURIをクライアント側で保存しておかなければならない。
      WEBサイトのhtmlファイルがどこのURIかは通常意識しないため、相対URIを使用できないケースが多い
  • ベースURIを明示的に指定する方法
    ↑の問題解決としてhtml、xmlに明示的にベースURIを指定する

    • html
      headタグにbaseタグで定義する
    • xml
      要素ごとにベースURIを定義できる

4.URIと文字

5.WEBサービス、WEB APIURI

【WEBを支える技術】を読む理由 - WEB道楽

【WEBを支える技術】REST編 - WEB道楽

【WEBを支える技術】URI仕様編 - WEB道楽

【WEBを支える技術】URI設計編~良いURI設計とは~ - WEB道楽

【WEBを支える技術】HTTP基礎編~シンプルさが標準化~ - WEB道楽

【WEBを支える技術】HTTPメソッド編~名は体を表す~ - WEB道楽

【WEBを支える技術】HTTPステータス編~名は体を表す~ - WEB道楽