0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

『Webを支える技術』URIの仕組み 簡単まとめ

Last updated at Posted at 2024-10-09

Webを支える技術の1つであるURIについて簡単にまとめます。
以下の記事の続きです。

URIの仕様(RFC 3986)

  • URI (Uniform Resource Identifier) とは「リソースを識別するID」
    • Web上の全ての情報を一意に示すことができる

URI = URL + URN

  • URIはURL (Uniform Resource Locator) と URN (Uniform Resource Name) の組み合わせ
    uri.png
    参考文献:https://danielmiessler.com/p/difference-between-uri-url/

    • URL: リソースの場所(ドメイン名やパス)を指す
      • リソースの移動やサーバーの障害でアクセスできなくなる場合がある
    • URN: リソースに恒久的なIDを付与する
      • ドメイン名に依存せずリソースを識別できる
  • URNが普及していない理由

    1. URNは取得が難しい
      (URLのようにサーバーやプロトコルの名前が含まれないため)
    2. URLが現在では十分に永続的に利用できている

URIで使用できる文字

URIの長さ制限

  • RFC 3986ではURIの長さに制限はない
  • 実際にはInternet Explorerで2038バイトの制限があるため、この制限に合わせることが一般的

絶対URIと相対URI

  • 絶対URIと相対URIがある
    • 絶対URI: http://example.jp/foo/bar
    • 相対URI: /foo/bar

URIの実装で気をつけるべき点

  1. 絶対URIを使用する

    • 相対URIの解決はクライアント側で複雑になるため、絶対URIを使用する方が望ましい
  2. %エンコーディングに注意

    • ASCII文字以外を含む場合は、できる限りUTF-8でエンコーディングする

URIの良い設計

  • URI設計はWebサービスやAPIにおいて最も重要
    • URIはリソースの名前
    • 寿命が長い
    • ブラウザに表示される

良いURIの設計ガイドライン

  1. シンプルで伝わりやすい名前にする

    • リソースを表す名詞を使用
    • プログラミング言語依存の拡張子(例:.pl, .rb)は避ける
    • メソッド名やセッションIDを含めない
    • 一般ユーザーが理解しやすいシンプルな名前にする
  2. 不透明性を意識する

    • セキュリティやプライバシー保護のため、内部のメソッド名やIDなどの情報をURIに含めない
  3. 変更しないURIにする

    • URIはできる限り変更しないように設計
    • 変更したい場合はリダイレクトを設定して、古いURIから新しいURIへ誘導する
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?