GET/POST/SQLたちは制限されている!
GETでURL長すぎると落ちるから気をつけろ
HTTPプロトコルではURIの長さの制限はないらしいが、
ブラウザによって長さが違うらしい
以下ただネットで集めただけの内容
ブラウザ | URL最大数 |
---|---|
IE8 | 2083文字 |
IE9 | 5120byte |
Safari | なし(約1Mbyte) |
Firefox | なし(約1Mbyte) |
chrome | ? |
URLは2000字以内が安全!!
ちなみにPOSTも上限がありました。
これはサーバーによって違うようですが、
TomcatではPOSTの1つのパラメータに10000個以上あると無視するらしいです。
情報: More than the maximum number of request parameters (GET plus POST) for a single request ([10,000]) were detected. Any parameters beyond this limit have been ignored. To change this limit, set the maxParameterCount attribute on the Connector. Note: further occurrences of this error will be logged at DEBUG level. [火 8 04 18:56:25 JST 2015]
maxPostSize="10485760"
maxParameterCount="20000"
とかで指定すれば上限増えるらしいです。
(↑でもあたし出来んかった!なんでや!)
もし行けたとしても
その後の試練が
あります。
soreha
SQL!!
URLが長くなるというのは
"GETでたくさん検索したい"
というのがまず考えられますよね。
検索するということはSQLも通過しますよね?
SQLにも文字制限があるという噂が…!
私が今回聞いたのはIN句。
なんとも1000個という制限があるとか。
いろいろ調べてみると、
OracleのSQLではIN句に1000個という制限があります。
私がやってるのはMySQLだったんでよかったー
(ちなみにMySQLは100万個はできちゃうとか?!)
改修する予定がなくなりました( ゚∀゚ )ほっ
あ、他のSQLはみてないやw