Internet Explorer 6 の GET リクエストの最大長
この疑問にドンぴしゃり答えてくれるすばらしいエントリがある。
このエントリはよくまとまっていて、私が特に付け加えることはない。メジャーなブラウザのなかで、GET リクエストの最大長が一番短いのが IE であるようだ。
というその名のままのエントリが 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 君はいつもながら世話の焼けるおこちゃまである。