|
1. メソッド長の制限を得る Http Getメソッドで送信されるデータのサイズや長さに制限はなく、HTTPプロトコル仕様もURLの長さを制限していません。 この制限は特定のブラウザやサーバーによって課される制限です。 例えば、IEのURL長制限は2083バイト(2K+35)です。 ここでは、さまざまなブラウザやサーバーの最大処理能力についての説明を紹介します。 Microsoft Internet Explorer(ブラウザ) IEはURLの最大2083文字の制限があり、それを超えると送信ボタンが応答しません。 Firefox(ブラウザ) Firefoxの場合、URLは65,536文字に制限されています。 Safari(ブラウザ) URLの最大長さは80,000文字に制限されています。 Opera(ブラウザ) URLの最大長さは190,000文字に制限されています。 Google(Chrome) URLの最大長さは8182文字に制限されています。 Apache(サーバー) 最大受理可能なURL長は8,192文字です。 マイクロソフトインターネット情報サーバー(IIS) 受け入れられる最大URL長は16,384文字です。 上記のデータから、すべてのユーザーが正常に閲覧するためには、URLが直接ユーザーに提供されずプログラム呼び出しに提供される場合、最大長さ制限であるIE(2083文字)を超えないようにすることが最善であることがわかります。長さはウェブサーバーのみによって影響されます。 注:中国語送信の場合、最終的なエンコーディング形式はurlencodeで送信されます。ブラウザのエンコーディングがUTF8の場合、中国語の最終エンコード文字長は9文字となります。 したがって、GETメソッドを使う場合、最大長さはURLの最大長から実際のパス内の文字数を引いたものに等しくなります。 2. POSTメソッドの長さ制限理論的には、POSTにはサイズ制限はありません。 HTTPプロトコル仕様にもサイズ制限はありませんが、サーバーのハンドラーの処理能力が制限要因となります。 例えば、TomcatのPOSTサイズ制限を解除します(Tomcatはデフォルトで2Mです)。 tomcatディレクトリのconfディレクトリを開き、server.xmlファイルを開いて修正します <コネクター debug="0" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" enableLookups="false" minSpareThreads="25" maxSpareThreads="75" maxThreads="150" maxPostSize ="0" URIEncoding="GBK" > </Connector> 赤いフォント部分 maxPostSize="0" を追加(0 設定は POST のサイズ制限を解除するため)
|