web-dev-qa-db-ja.com

URLパス内のセグメントの安全な最大長はどのくらいですか?

多くの人が尋ねています"a[〜#〜] url [〜#〜]の最大長は?"しかし、私が見る限り、誰も質問をしていません。

URLパス内のセグメントの安全な最大長はどのくらいですか?

この質問も同様に重要だと思います。

この質問は、可能な限り多くのシステムをサポートすることを目的とした一般的な質問です。

C#では、このシナリオでURLパスのセグメントの最大長と見なされるセキュリティモジュールがインストールされた状態で、着信要求からURLパスセグメントのリストを取得できますか?

次のページで、260文字を超えるURLパスセグメントがカスタムASP.NETモジュールで問題を引き起こす可能性があることを読みました。

Webブラウザでは、アクセスするWebサイトに関係なくURLセグメントを入力します。/は、通常はホームページにマッピングされるURLパスセグメントです。 Internet Explorerでは、Chromeであり、Firefoxは一般的なブラウザであり、サポートするURLパスセグメントの長さの最大値は?

次のリソースから、URLパスの最大長はブラウザごとに異なり、図が非常に長いことがあることがわかります。

ただし、これはパスであり、パスセグメントではありません。

また、パスを書き換えると、基になるファイルシステムパスの長さが影響し、* nix OSでは約255文字のサポートが表示されることを認識しています。

その他の考慮事項には、データベーステーブル内のURLパスセグメントの最大長が含まれます。たとえば、MySQLではvarcharカラムに最大255文字を含めることができますが、この場合、MySQLのテーブルにパスのセグメントを格納する人や、varcharカラムに完全なURLを格納する人はいますか?これは、URLパスセグメントに対して255文字が長すぎることを意味しますか?

URLパスセグメントの長さについて、W3Cの仕様には何も見当たらないため、ありますか?

私はURIのW3C仕様を読みましたが、再び使用するものを見つけませんでした。

URLパスセグメントの長さに関する標準が設定されていないことに非常に困惑しています。

私は、さまざまなシステムがサポートするもの、およびURLパスセグメントの安全な長さと考えられるものについて、可能な限り多くの情報を本当に探しています。

32
Matthew Bonner

おそらく関連する 異なるブラウザでのURLの最大長は?

要するに

HTTP仕様によると、URLの長さに制限はありません。 URLを2048文字未満にしてください。これにより、すべてのクライアントとサーバーの構成でURLが機能するようになります。また、URLのような検索エンジンは、約2000文字未満のままです。

ChromeにはURLの2MBの制限があり、IE8および9には2084文字の制限があります。そのため、すべてがURLを約6 2000文字。

また、使いやすさの観点から、長いURLはユーザーが使用/読み取りできない。

ただし、ドメイン名には上限があります。 255文字の長さ。 安全のために、最大URLが1つのセグメントに存在しない場合、URLセグメントの長さは約1745文字になります。

48
Gerrit Bertier

そのような仕様の制限はありません。 実装の制限がある場合がありますが、仕様にはありません。

Nit:URIはW3CではなくIETFによって定義され、現在の仕様はRFC 3986です。

5
Julian Reschke

URLの長さ2K(ちょうど一般的な方法)を超えてはなりません。 セグメントパス任意のサイズになります。

domain lengthは255文字を超えてはなりません( RFC3986 を参照)。制限は実装にのみ存在します。 Segments URLに添付されるのは、特定の場合にのみ制限されます(以前の一般的な使用法)。

現在、ほとんどすべてのリクエストは rewrite rule の1つのファイルを通過するため、セグメントの長さは重要ではありません。その後、セグメントは非常に大きな変数に保持されるため、基本的に制限はありません。

2
vitalii