web-dev-qa-db-ja.com

htmlの非表示入力の長さに最大サイズはありますか?

言い換えると:

<input type="hidden" value="Can I put as much as I want in here, or is there a limit?" />

もしそうなら、それは何ですか?

80
sprugman

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

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

POSTを使用すると、ブラウザーに技術的な制限はありませんが、通常はサーバー側に制限があります。 ApacheのLimitRequestBody、PHPのpost_max_size 等々。

53
Pekka 웃

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

テキストを貼り付けると、コンテンツのオーバーフローが発生するようです。 Webkitで発見。

[編集]

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

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

28
naugtur