• 締切済み

method=GETの最大文字数

<a href="***.cgi?key=value">という具合に、 データをGETで渡したいのですが、 valueに日本語をurlエンコードしたものを使いたいのです。 そのため、かなり文字数が多くなる場合もあるので、 GETでの最大文字数をご存知の方、よろしくお願いします。

みんなの回答

  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.3

RFCにはURIについての長さの規定はありませんし、 HTTPのRFCに至ってはURIの長さ制限がないことを明記していますから(参考URLの3.2.1を参照)、 少なくともプロトコルの上では長さに制限はありません。 なので、madmanさんのおっしゃるようにサーバ依存、ということになります。

参考URL:
http://www.ietf.org/rfc/rfc2616.txt
harisun
質問者

お礼

サーバ依存なのですか。 ありがとうございました。

  • madman
  • ベストアンサー率24% (612/2465)
回答No.2

利用しているサーバの種類環境に依存します。 確かapacheを使っている場合、最大長は8000 バイト程度です。 文字数が長くなることがわかっている場合は、通常POSTを使うべきです。 こんな漢字で、POSTに出来ると思いますよ。 <FORM ACTION="***.cgi" METHOD="GET" NAME="F1"> <INPUT TYPE="hidden" NAME="key" VALUE="value"> </FORM> <A HREF="." onclick="window.F1.submit();">クリック</A>

harisun
質問者

お礼

そういう方法もあるのですか。 どうもありがとうございました。

  • sinx
  • ベストアンサー率29% (14/47)
回答No.1

記憶があいまいなので自身なしです。 URLに使える最大長が256文字(半角)だった気がするのですが、 GETで渡したときにhttp://から最後までの文字数が256文字までだったと思います。 # 本当に記憶があいまいです。

harisun
質問者

お礼

ご回答ありがとうございました。

関連するQ&A