URI(Uniform Resource Identifier)
あらゆるリソースを識別するための記述方法を**URI(Uniform Resource Identifier)**と呼ぶ。URIは、コンピューターが扱うリソースに限らず、人や会社、書籍など、あらゆるリソースを示すことができる。
URIはスキームと呼ばれる識別子で始まり、続いて「:」で区切って各スキームごとに定められた表現形式で記述される。
URL(Uniform Resource Locator)
URIのうちリソースが存在する場所を示すものを**URL(Uniform resource Locator)**と呼ぶ。URLにはリソースの場所を示すほか、リソースの取得方法が記述されており、Webサイトの場所を示す際に利用される。
URN(Uniform Resource Name)
URIのうち場所は問わずにリソースの名前を示すものを**URN(Uniform Resource name)**と呼ぶ。書籍を一意に特定し識別するためのISBNコードなどを使ってURNを記述できる。
リクエストURI
HTTPにおいても、リソース特定のためにURIが利用されている。HTTPリクエストの場合、URIはリクエスト行のメソッドに続いて記述され、「リクエストURI」とも呼ばれる。
リクエストURIにはURIを全て含める絶対URI形式と、URIの一部(パス名のみ)を含める相対URI形式があり、通常は記述を簡略化した相対URI形式で記述される。
HTTPリクエストがプロキシサーバーを経由する場合は絶対URIが利用される。
GET http://example.com/news/index.html HTTP/1.1
GET /news/index.html HTML/1.1
パーセントコーディング
URIで利用できる文字は定められており、「予約文字(!、#、$などの記号)」と「非予約文字(半角英数字など)」が存在する。
予約文字は特定目的で用いいるために予約されている文字で、その目的以外ではURIに使用できない。非予約文字は数字やアルファベットなど自由にURIに使用できる文字を指す。
この2つに当てはまらない文字(日本語など)をURIで利用する場合は「パーセントコーディング」という方法で文字を変換する必要がある。「%」に続けて、表記できない文字の文字コードを16進数で表し、「%xx」(xxは16進数)の形式に変換する。