HTMLの隠された入力の長さに最大サイズはありますか?


回答:


59

フォームの送信方法によって異なります。

GETでは、ブラウザとサーバーの制限に応じて、一般的に合意されている約1〜2キロバイトの制限があります。

POSTを使用すると、ブラウザに技術的な制限はありませんが、通常はサーバー側に制限があります。たとえば、Apache LimitRequestBody、PHPなどを参照してくださいpost_max_size


以下の@naugturで指摘されているテキスト入力フィールドの問題に注意してください-少なくとも、異なるブラウザーによって課される技術的な制限がある場合は。
オリバー

私は3つのやや最新のブラウザー(IE9、FF 10 ESR、Chrome 24)でいくつかのテストを実行したところ、すべてが問題なく100KBの非表示の入力値を送信しました。したがって、テキスト入力の問題はここでは当てはまらないようです。
オリバー

どの程度textareaの?
フランシスココラレスモラレス

@FranciscoCorralesMorales入力フィールドのタイプは関係ありません-何が最終結果であり、送信するすべてのデータの合計
Pekka

Safariが非表示の入力を切り捨てたことがわかりました。textareaを使用して問題を解決しました。
Brendon Muir 2018

29

警告!<input type="text">テキストが65535よりも長い(signed intの最大サイズ)場合に問題が発生しました

テキストを貼り付けると、内容が奇妙にオーバーフローするようです。Webkitで発見。

[編集]

GETリクエストのサイズは、Pekkaが書いた方法とまったく同じではありません。Internet Explorerでのみaddress?params、GETクエリ文字列全体に対して2083バイトの制限があります 。他のブラウザでは、FireFoxが100KBを超えるGETクエリを送信するなど、実質的に制限はありません。明らかに、サーバーはそれらを許可する必要があります。

これはドキュメントでカバーされていないので、他のブラウザの制限を知るためにテストする必要があります。IE:http : //support.microsoft.com/kb/208427


8
+1入力値を非常に長い文字列に設定したときに何が起こるかをテストするために、このjsFiddleを作成しました:jsfiddle.net/3TVPL/6私は65537文字の文字列を使用しました。私のテストでは、Crome 24.0.1312とSafari 5.1.7 for Windowsの両方で、値をその文字列に設定した後、入力ボックスが空として表示されます。文字列を65536文字に減らすと、Chromeは適切な空でない値を表示します。他のブラウザ(Firefox 17、IE8、IE9、IE10、Opera 12.12)は、文字列が長くても問題がありませんでした(約1.2 Mbの文字列まで上がった)
beluga

@beluga素晴らしい仕事。パフォーマンスについて何か考えはありますか?私の弱いマシンではそれは長い待ち時間でした。Webkitがそれをレンダリングしないのはそのためだと思います。
naugtur 2013年

良い点かもしれません。現時点では、パフォーマンステストは行っていません。私はかなり強化されたマシンを使っており、どのブラウザーでも遅延に気づきませんでした。
beluga 2013年

FFが5分間使用できなくなりました。とにかくこれをフォームフィールドに
入れるの

モバイルブラウザーとプロキシも非表示フィールドを切り捨てることがあります
George Filippakos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.