Internet Explorer 6 の GET リクエストの最大長

この疑問にドンぴしゃり答えてくれるすばらしいエントリがある。

URL の最大長は何文字?

このエントリはよくまとまっていて、私が特に付け加えることはない。メジャーなブラウザのなかで、GET リクエストの最大長が一番短いのが IE であるようだ。

IE: URL に使用可能な文字数は最大 2,083 文字

というその名のままのエントリが Microsoft の公式サイト上にある。気になる対象バージョンだが、

この資料は以下の製品について記述したものです。
Microsoft Internet Explorer 3.0
Microsoft Internet Explorer 5.0
Microsoft Internet Explorer 6.0 Service Pack 1

という脚注があるが IE 7 についてはよくわからない。この瞬間手元に IE 7 がないので調べられないが、ご存知の方はおしえてください。

で、私がなぜわざわざ自分で文章を書こうかとおもったかというと、「実際に 2083 文字を超える URL を IE に与えたとき何がおこるだろう?」という疑問が沸いたからだ。次のような HTML 文書を IE 6 をつかって読み込んでみる。

<html>
<body>
<a href="http://example.com:3000/site/test1?q=xxx(...多数の"x"...)xxx">click me!</a>
</body>
</html>

私の場合、Rails でテスト用のプロジェクトをつくり、そこにアクセスさせるようにした。そしてログを監視したところ、"q=" の後ろに来る "x" からなる文字列が 2000 字までは、きちんと IE 6 はリクエストをサーバに送っていた。

では 2100 文字にしたら何が起こるか?

結論から言うと、何も起こらなかった!リンクをクリックしても、うんともすんともいわない。エラーメッセージも表示されない。完全無視の構えである。(ひょっとしたらこれはブラウザの設定の問題かもしれないが・・・。ただ私の IE はうるさいほど警告メッセージを出すほうである)

やれやれ。IE 君はいつもながら世話の焼けるおこちゃまである。