2012-02-09 41 views
2

私はajax GETメソッドを使用するとき、戻り値のサイズ制限はありますか?jQueryまたはJavaScript ajax getメソッドの戻り値のサイズ制限?

もしそうなら、この制限はJavaScript/jQueryのためですか?ブラウザに?サーバーに?

サイズ制限があることを示すような古い記事(5歳以上)がありましたが、このトピックに関する最近の情報は見つかりませんでした。

+1

私の知る限り、リクエストサイズの制限があります。つまり、一部のブラウザでは2K文字よりも長いURLを呼び出すことはできません...しかし、応答のために私はわかりませんし、私にとっては本当に驚きでしょう... –

答えて

1

HTTPプロトコルはレスポンスのサイズを制限せず、jQuery自体もそうではありません。理論的に言えば、GETレスポンスをあなたが望むほど大きくすることができます。実際に

、しかし、、いくつかの制約があります(あなたが全体の応答をキャッシュしている場合は特に)、Webサーバーは、サーバーのコードは、クライアント、追加のストレージを必要とする中間処理ステップが必要になる場合があり、最大応答サイズを有することができますレスポンスデータを処理する前にレスポンスデータを保存する必要がある場合、ブラウザのJavaScript実装に余分なメモリの制約があります(物理的なRAMをすべて消費する不正なスクリプトは望ましくありません)。どのくらい正確にあまりにも多くのものが正確に特定するのは難しいです:数メガバイトはおそらくOKです、テラバイトは確かにありません。

リクエストの方法はこの文脈ではあまり面白くないことに注意してください。上記の問題は、POST要求や他のHTTP動詞への応答にも有効です。

3

はい制限があります。アーキテクチャと使用可能なメモリに依存します。 2Gと64bitビルドのx86_64マシンではInternalErrorで失敗しますが、x86_64では4Gと64bitビルドでスクリプトスタックスペースの容量が使い尽くされますが、それは成功します。

したがって、最終的には、要求を効率的に処理するためにスクリプトを実行しホストしているマシンによって異なります。

InternalError Script Stackメッセージが表示された場合は、要求を実行するためにハードウェアをアップグレードする必要があることを意味します。

これを「制御する」という方法は、「スロットル」と呼ばれることを行うことです。 How to rate-limit ajax requests?

関連する問題