GETとPOSTメソッドの違いは、Getメソッドの最大長は、文字列の最後に渡すことができますどのくらいですか?

GETとPOSTメソッドの違いは、Getメソッドの最大長は、文字列の最後に渡すことができますどのくらいですか?あなたは、伝送パラメータのGETメソッドを使用する場合、導入された、最大のURLの長さは256バイトで、それを信じています。

しかし、最近、私は助けることができなかった前の文のこの時点では256バイトの長さよりもはるかに多くのビット長の見積もり、約650バイトを、ダウンコピーが、いくつかの疑問を持って、IEで作業することができ、いくつかの長いURLを、見ました - 主要な検索エンジンを経由し、ひっくり返し、そして最終的に最も権威の解釈--maximum URLの長さは、Internet Explorer .---最大のユニフォームリソースロケータ(URL)2083文字のMicrosoft Internet Explorerの長さは2083文字ですました。 。

2,048文字のInternet Explorerの最大パス長。この制限は、POSTリクエストに適用され、リクエストURLをGET。

あなたはGETメソッドを使用する場合は2,048文字の最大、マイナス実際のパスの文字数に制限されています。

ただし、POSTメソッドは、URLは、名前/値ペアのサイズを制限提出されていません。URLにタイトルでの送信ではなく、転送。

RFC 2616、 "ハイパーテキスト転送プロトコル - HTTP / 1.1"、不特定の長さのURLのためにどのような要件。

はい、URL IEは2083バイトの最大長さであるが、データの長さが2048バイトでGET転送するために使用することができ、この数ははるかに256よりも一度は非常に正しい数と見なされた、小型ではありません。

衝撃長からのデータ転送のさらにPOSTメソッド、その値ブラウザによって送信されたヘッダはなく、URL。

ブラウザ

実際のテストの後:

1、IE8の全長URLアドレス:4076、自動的に後者の内容を無視し、この長さを超えます。

図2に示すように、Firefoxの25のアドレスにURLの全体の長さを達成することができる:7530、アクセスエラーの長さを超えます。

3、最大全長クロム29.0.1547.62リーチ:7675は、アクセスエラーの長さを超えます。

アップグレードの長さが変化して、ブラウザをサポートするようにこのように、以前のブラウザでは、おそらく256の最大長さのためのURLは、(現在または以前のバージョンがIE6をテストするために見つけることができない)ことが可能です。

サーバー

1、apach

ApacheはURLの長さは8192文字に制限されて受け入れることができます

2、IIS

Microsoftインターネットインフォメーションサーバー(IIS)は、URLの長さが16,384文字に制限されて受け入れることができます。

3、PerlのHTTP ::デーモン

PerlのHTTP ::デーモンは、少なくとも8000文字のURLの長さの制限を受け入れることができます。PerlのHTTP ::デーモンHTTPリクエストヘッダは(ポスト、ファイルのアップロードなどを含まない)これ以上16,384バイト以内の長さの合計を制限します。しかし、時に8000以上の文字のURLが413エラーを返すとき。
この制限は、16×1024 Daemon.pmを見つけ、より大きな値に変更し、修正することができます。

4、ngnix

URLの長さの制限は、要求URL文字列の設定を変更することによって変更することができます。

client_header_buffer_size デフォルト:client_header_buffer_size 1k

large_client_header_buffersデフォルト:large_client_header_buffers 4 4k/8k

注意事項:

唯一JSONPによるクロスドメインリクエストが要求を取得しているため、URLの長さは、ブラウザとサーバーによって異なる制限があります。
IEをサポートするために、そして、URLの長さは2083文字、漢字であれば、その後、唯一の9分の2083 = 231文字に制限されています。
Chromeブラウザは、中国語の文字の最大に= 909のみ9分の8182をサポートしている場合。

おすすめ

転載: www.cnblogs.com/Javi/p/11577303.html