当前位置: 代码迷 >> Java Web开发 >> request接收请求参数,该怎么处理
  详细解决方案

request接收请求参数,该怎么处理

热度:71   发布时间:2016-04-16 22:00:44.0
request接收请求参数
昨天面试到了这样的的问题:在一次的http请求中 request一次能能够接受最多多少个参数?
即是
         动态页面地址?参数名称 1=参数内容 1&参数名称 2=参数内容 2&…
其中是可以传递多少个参数名称和参数内容?

------解决方案--------------------
如果是get参数内容有限制,如果是post理论上没有限制吧
------解决方案--------------------
GET和POST
------解决方案--------------------
参数传递有POST和GET 2中形式,如果用POST传递应该是没有长度限制的,如果用GET传递,貌似最大长度只能4k左右吧。
------解决方案--------------------
他估计只是想问   get/post 区别,传输数据大小。
------解决方案--------------------
get有限制,一般IE浏览器本身对地址栏URL长度有最大长度限制:2048个字符。
其他一般可以支持到2048字符(包括"http://"),安全长度是1024。
你的问题一看就是get请求,因为post请求,参数不会再url里显示。
------解决方案--------------------
这和参数个数无关,而与URI总长度有关。
参考maximum length of HTTP GET request?
Is there a limit to the length of a GET request?

总结就是
1、HTTP协议没有规定这个长度限制,甚至都没有提出建议
2、这个长度限制与客户端和服务器端都有关系
3、2K是比较安全的长度,255字节是几乎绝对安全的长度
4、如果URI超长,服务器应该返回414错误代码

具体的客户端和服务器下这个限制是多少,这里有一篇还不错的总结
What is the maximum length of a URL?
列举几个:
IE = 2048
Firefox > 100000
Safari > 80000
Opera > 190000

Apache = 4000
IIS = 16384
------解决方案--------------------
1、HTTP 协议从未规定 GET/POST 的请求长度限制是多少。
2、所谓的请求长度限制是由浏览器和 web 服务器决定和设置的,各种浏览器和 web 服务器的设定均不一样,这依赖于各个浏览器      厂家的规定或者可以根据 web 服务器的处理能力来设定。
3、GET参数是带在URL后面,IE中URL的最大可用长度为2048字符,其他浏览器对URL长度限制实现上有所不同。POST请求无长度限制。
4、GET提交的数据大小,不同浏览器的限制不同,一般在2k-8K之间,POST提交数据比较大,大小靠服务器的设定值限制,而且某些数据只能用 POST 方法,比如 file。
------解决方案--------------------
对于每个浏览器的GET 字符串是不固定的,POST 则无限制,但通常服务器会对POST 有限制,比如小生NGINX 对 POST 接受就限制在8M。
  相关解决方案