URLのフラグメント部分(ハッシュとも呼ばれます)に長さの制限はありますか?
3 に答える
ハッシュはクライアント側のみであるため、HTTPのルールが適用されない場合があります。
ブラウザによって異なります。サファリ、クローム、Firefoxでは、長いハッシュを含むURLは有効ですが、サーバーに送信されるパラメータの場合、ブラウザは414または413エラーを表示します。
例:のようなURLhttp://www.stackoverflow.com/?abc#{hash value with 100 thousand characters}
は問題ありません。location.hashを使用してjavascriptのハッシュ値を取得できますが、のようなURLhttp://www.stackoverflow.com/?abc&{query with 100 thousand characters}
は不正です。このリンクをアドレスバーに貼り付けると、413エラーコードが表示され、メッセージはthe client issued a request that was too long
です。それがWebページのリンクである場合、私のコンピューターでは、Nginxは414エラーメッセージに応答します。
IEの状況はわかりません。
したがって、URLの長さの制限は、送信サーバーまたはHTTPサーバーのみであり、ブラウザーは時々チェックしますが、毎回チェックするわけではなく、常にハッシュとして使用できるようになります。