URL 文字列の最大長は2,000文字でバリデーション定義する方針
- 2021 6/8
- カテゴリー : WebService
- コメントを書く
『URL 文字列の最大長は 2,000 文字以下でバリデーションを定義する』 という方針にしている話をご紹介します。
背景 URL のバリデーション定義したい
URL のバリデーションを定義するために最大文字数を調べてみました。
結論 URL は最大 2,000 文字でバリデーションする
以下を読んで頂くとわかりますが、
- 制限なし
- 2,083 文字
- 2,048 文字
など、ゆらぎがあるため、ギリギリを攻める必要は無いと判断しました。
ざっくり 2,000 文字以下でバリデーションを定義することにしています。
RFC 『HTTP プロトコルでは URI の長さにどんな制限も設けていない』
3.2.1 一般構文
HTTP プロトコルでは、URI の長さにどんな制限も設けていない。 サーバは、自身が持つどんなリソースの URI も扱えなければならないし、もしそのような URI を生成する GET ベースのフォームを用意するなら、無制限の長さの URI を扱えるべきである。 もし、その URI がサーバが処理できるものよりも長ければ、サーバは 414 (Request-URI Too Long) ステータスを返すべきである (section 10.4.15 参照)。
sitemaps.org 『2,048 文字以下で指定する必要があります』
ページの URL です。 ウェブ サーバーによっては、http などのプロトコルから始め、末尾にスラッシュを含める必要があります。 この値は 2,048 文字以下で指定する必要があります。
引用元: sitemaps.org – プロトコル
Internet Explorer 『URL の最大長は 2,083 文字』
URL の最大長は、2,083 文字 Internet Explorer
以上、URL の文字列の最大長は 2,000 文字ぐらいでシステム設計している、現場からお送りしました。