概要
- 「Webを支える技術」に記載されていたURIの記載をまとめておく
URIって?
- URLとほぼ同意味の言葉
- 正確に言うとURIはURLとURNの総称
- ネットの海に存在するリソース(ページや情報)を一意に特定するための識別子のこと
URIのルール
- URI側の文字数制限は無いけどIEでは2038バイトまでという制限がある。
- 使用できる文字はいわゆるASCII文字である(正規表現でURIを判定したいときに使えるのでちょっと覚えておくといいかも)
- アルファベット: A~Z と a~z
- 数字: 0~9
- 記号: 「-」「.」「~」「:」「@」「!」「$」「&」「'」「(」「)」
- 直接日本語は使えない。使いたいなら「%エンコード」する必要がある。
- 絶対パスと相対パスが使える。
- 我々がいつも見ているURIは絶対パスのURIである。
- 相対パスはlinuxのディレクトリ移動とか、ファイルコピーとかに使うやつ。
$ cd ../etc
みたいに基準となる場所からのパスでリソースを特定するやつ。 - 相対パスを使えることは知っておいていいけど、そんなに使うことは多くなさそうだった。
URIの構造
-
多分一番シンプルなURIの構造は下記になる。(URIスキームとホスト名の間にある
://
は:
と//
でそれぞれ意味を持っているらしい。:
はURIスキームの後ろの区切り文字で//
はユーザー情報とホスト情報の開始を宣言しているっぽい。)URIスキーム://ドメインもしくはIPアドレス(ホスト名)/パス
-
https://qiita.com/miriwoで説明すると下記の様になる。
項目 情報 備考 URIスキーム https 通信に使うプロトコルの指定 ドメインもしくはIPアドレス(ホスト名) qiita.com ドメインの場合、DSNサーバーでIPとドメイン名が紐付けられているっぽい パス /miriwo 当該のホストのなかでのリソースの場所 -
その他にもポート番号や、クエリパラメータとかがURIに記載されていることもある。
あとがき
- 最近のWeb系フレームワークはめっちゃ優秀だからこの辺深くまで理解しなくても開発はできる。
- しかし、しっかり理解することもこれまた大切だなと思った。
- この記事の内容ですら暗記する必要は無いと思うが、「あーなんかURIはこんな感じだったな〜」っておもっておこう。