URLの長さ

URLの長さ

[10] URL の長さは理論上は無制限ですが、現実には制限があります。 実装はその都合に応じて適当な上限を設けることができます。

[17] サーバーのような URL を受信し、自身の権限でその URL に応じた処理を行うソフトウェアは、任意の上限を設定できます。

[18] 例えば Webサーバーは、自身が扱う資源URL がすべて500文字以下なら、 URL の長さ上限を512文字とし、それ以上は一律でエラーとすることができます。

[19] Webブラウザーのような他者が提供した任意の URL を扱えるべきソフトウェアは、実世界での用法を鑑みて十分長い URL も扱える必要があります。

[20] Webサーバーによっては (例えば) 1024文字程度の長い URL を生成するものもありますから、512文字以上の URL を扱えない Webブラウザーソーシャルブックマークサービスなどは、 Web互換とは言えません。

[21] URL文字の列ですが、実装の都合で文字数ではなく、 バイト数で上限が設定されていることも少なくありません。

HTTP における URL の長さの制限

[3] HTTP で扱う URL に関しては、仕様上は長さの制限が設けられていませんが、 実装上は上限を設けることが認められています。その場合 414 応答を返すことになっています。

[415] 詳しくは要求対象の項を参照してください。

[13] 要求行全体で8000バイトは最低でも対応するべきとされています。

[4] は提供する資源URL を扱うことができなければなりませんGET を使ったフォームを提供していて、 それがいくらでも長い URL を生成し得るのであれば、それを扱うことができるべきです>>5

[6] は自分が何を提供し何を提供しないか自ら決められるわけですから、 長い URL資源は提供しないと決めても何ら問題なく (というか外部からは観測不能だし相互運用性にはまったく寄与しない)、 >>4 のようなぱっとしない MUST 要件になっているのでしょうね。しかし自ら決められるといっても、 GET フォームについては例外で、 URL がユーザーの入力によって決まるので、 そこは相互運用性に影響するものであり、 SHOULD 要件で例外として補足しているのでしょうな。

[7] は、 URL が扱える長さの上限を超えていれば、 414 を返すべきです>>5

[8] 古いクライアントは255バイトよりも長い URL をうまく扱えないので、 は注意したほうがよいです (ought to) >>5

[9] でもこれ、 >>6 のようなややこしいことを考えずとも、 は任意の長さの URL を扱えなければならず、通常通り処理できなければ 414 を返すべきである、と規定するだけでいい気がするのですがね。

仕様書

[12] RFC 1945 にはありませんでした。

WAP における URL の長さの制限

[1] WAE利用者エージェントおよび WAP串は、最低1024オクテットの URI を扱えなければなりません: <http://www.openmobilealliance.org/wapdocs/wap-236-waespec-20020207-a.pdf> 7.2

Location オブジェクトにおける長さ制限

[2] URL の GET での長さの制約 - 8時40分が超えられない - subtech ( 版) <http://subtech.g.hatena.ne.jp/secondlife/20090121/1232507478>

[14] RFC 2911 - Internet Printing Protocol/1.1: Model and Semantics ( 版) <https://tools.ietf.org/html/rfc2911#section-4.1.5>

The maximum length of URIs used as values of IPP

attributes is 1023 octets.

[15] RFC 3510 - Internet Printing Protocol/1.1: IPP URL Scheme ( 版) <https://tools.ietf.org/html/rfc3510#section-4.5>

Note: IPP Printers ought to be cautious about depending on URI lengths above 255 bytes, because some older client implementations might not properly support these lengths.

[16] PocketやYahoo!ブックマークにも対応! 他ブックマークサービスからの移行方法 - はてなブックマーク開発ブログ ( 版) <http://bookmark.hatenastaff.com/entry/import_from_pocket>

URLは255バイトに制限されます