さまざまなブラウザでの URL の最大長はどれくらいですか? 質問する

さまざまなブラウザでの URL の最大長はどれくらいですか? 質問する
  • 各ブラウザの URL の最大長はどれくらいですか?
  • 最大 URL 長は HTTP 仕様の一部ですか?

ベストアンサー1

短い回答 - 事実上の制限は 2000 文字

URL を 2000 文字未満に抑えると、クライアントとサーバーのソフトウェアのほぼすべての組み合わせ、およびすべての検索エンジンで機能します。

特定のユースケースでは、より長い URL を検討できます。検索エンジン以外では、2023 年現在、8000 文字で幅広い互換性が提供されます。詳細については、以下をお読みください...

より長い答え - まず、標準...

1999年に公開されたオリジナルのHTTP/1.1仕様は、RFC 2616、セクション3.2.1で次のように述べています。

HTTP プロトコルは、URI の長さに事前の制限を設けていません。サーバーは、提供するリソースの URI を処理できなければなりません。また、そのような URI を生成できる GET ベースのフォームを提供する場合は、無制限の長さの URI を処理できる必要があります。URI がサーバーが処理できる長さよりも長い場合、サーバーは 414 (Request-URI Too Long) ステータスを返す必要があります (セクション 10.4.15 を参照)。

2014年に、実際の使用状況に合わせて仕様が更新され、廃止されました。RFC7230 の翻訳; それは次のことを示唆します:

実際には、リクエスト ラインの長さに関してさまざまなアドホック制限が存在します。すべての HTTP 送信者と受信者は、少なくとも 8000 オクテットのリクエスト ラインの長さをサポートすることが推奨されます。

2022 年には、HTTP バージョン (HTTP/1.1、HTTP/2、HTTP/3) とは独立して HTTP セマンティクスを定義する新しいアップデートが公開されました。RFC 9110、セクション 4.1はこう言う。

すべての送信者と受信者は、プロトコル要素の長さが少なくとも 8000 オクテットの URI をサポートすることが推奨されます。ただし、一部の構造とワイヤ上の表現 (たとえば、HTTP/1.1 のリクエスト ライン) は、場合によっては必然的に大きくなることに注意してください。

...そして現実

基準ではそう言っています。現実には、boutell.com より(リンクはインターネット アーカイブのバックアップに移動します) では、個々のブラウザーとサーバーの実装が何をサポートするかについて説明しました。概要は次のとおりです。

極端に長い URL は通常、間違いです。2,000文字を超える URL は、ほとんどの一般的な Web ブラウザでは機能しません。サイトを大多数のインターネット ユーザーに公開する場合は、このような URL を使用しないでください。

(注: これは2006 年に書かれた記事からの引用ですが、2015 年には IE の使用が減少しているため、長い URL は大多数のユーザーにとって機能するようになりましたただし、IE にはまだ制限があります...)

Internet Explorer の制限...

IE8の最大URL長は2083文字です、そしてそれはIE9にも同様の制限がある

IE10 をテストしたところ、アドレス バーは 2083 文字までしか受け付けません。これより長い URL をクリックすることはできますが、アドレス バーにはこのリンクの 2083 文字しか表示されません。

ありますIE Internals ブログの素晴らしい記事これは、このことの背景の一部になります。

IE11 がより長い URL をサポートするという報告はまちまちです (以下のコメントを参照)。一部の人が問題を報告していることを考慮すると、一般的なアドバイスは依然として有効です。

検索エンジンは 2048 文字未満の URL を好みます...

注意してくださいサイトマップ プロトコルは、サイトが利用可能なページを検索エンジンに通知できるようにするものですが、URL の文字数は 2048 文字に制限されています。サイトマップを使用する場合は、制限が決まっています。(Calin-Andrei Burloiu の回答下に)

2010年には、検索エンジンがクロールしてインデックスするURLの最大長制限は2047文字で、サイトマッププロトコルの仕様と一致しているようです。しかし、Google検索結果このツールは 1855 文字を超える URL には対応できませんでした。

CDNには限界がある

CDN は URI の長さにも制限を設けており、414 Too long requestこれらの制限に達すると を返します。例:

(コメント欄で情報を提供してくれたtimrs2998に感謝します)

追加のブラウザまとめ

私は、非常に大きな構成のApache 2.4サーバーで次のテストを行いました。制限要求ラインそして制限リクエストフィールドサイズ

Browser     Address bar   document.location
                          or anchor tag
------------------------------------------
Chrome          32779           >64k
Android          8192           >64k
Firefox          >300k          >300k
Safari           >64k           >64k
IE11             2047           5120
Edge 16          2047          10240

参照この答え以下はMatas Vaitkeviciusより。

この情報は最新ですか?

これはよくある質問ですが、元の調査は約 14 年前のものですので、最新の情報に更新するように努めます。2023年 9 月現在、このアドバイスは依然として有効です。最新のブラウザはより長い URL をサポートしますが、検索エンジンはサポートしていないため、見出しの数字は「2000 文字未満」のままです。

おすすめ記事