tomcat修改http长度限制_解决浏览器与服务器请求url长度限制
一、前言
Http中g(shù)et與post本身是沒有受到長度限制的,受到限制是瀏覽器與服務(wù)器對url長度限制。具體說明請閱讀我的零一篇文章《關(guān)于 HTTP GET/POST 請求參數(shù)長度最大值的一個(gè)理解誤區(qū)》。
二、概述
1、服務(wù)器限制
我目前使用的服務(wù)器一般是tomcat+nginx,它們都是通過控制http請求頭的長度來進(jìn)行限制 的,nginx的配置參數(shù)為large_client_header_buffers,tomcat的請求配置參數(shù)為 maxHttpHeaderSize,都是可以自己去進(jìn)行設(shè)置。
2、瀏覽器限制
瀏覽器的限制:每種瀏覽器也會(huì)對url的長度有所限制,
下面是幾種常見瀏覽器的url長度限制:(單位:字符)
IE : 2803
Firefox:65536
Chrome:8182
Safari:80000
Opera:190000
3、cookie長度限制
I.瀏覽器所允許的每個(gè)域下的最大cookie數(shù)目。
IE :原先為20個(gè),后來升級為50個(gè)
Firefox: 50個(gè)
Opera:30個(gè)
Chrome:180個(gè)
Safari:無限制
當(dāng)Cookie數(shù)超過限制數(shù)時(shí)瀏覽器的行為:IE和Opera會(huì)采用LRU算法將老的不常使用的Cookie清除掉,Firefox的行為是隨機(jī)踢出某些Cookie的值。當(dāng)然無論怎樣的策略,還是盡量不要讓Cookie數(shù)目超過瀏覽器所允許的范圍。
II.瀏覽器所允許的每個(gè)Cookie的最大長度。
Firefox和Safari:4079字節(jié)
Opera:4096字節(jié)
IE:4095字節(jié)
III.服務(wù)器中Http請求頭長度的限制。Cookie會(huì)被附在每次http請求頭中傳遞給服務(wù)器,因此還會(huì)受到服務(wù)器請求頭長度的影響。
三、解決方案
1、tomcat解決請求頭長度過長,修改server.xml配置。
2、nginx解決請求頭長度過長,修改nginx.conf配置。
#在http標(biāo)簽下增加
client_header_buffer_size 512k;
large_client_header_buffers 4 512k;
總結(jié)
以上是生活随笔為你收集整理的tomcat修改http长度限制_解决浏览器与服务器请求url长度限制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB下载安装
- 下一篇: 2048+html源码之家,前端纯原生代