我是靠谱客的博主 小巧秀发,最近开发中收集的这篇文章主要介绍POST请求大小不限制?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

一直以来认为GET请求URL是限制长度的,而长度是随各个浏览器而有差异,POST请求是大小不做限制,但后来项目中第三方post一个很大的数据过来,接口一直受到null值

GET请求长度限制

理论上GET请求数据长度没有限制的,真正起到限制的是浏览器对其长度进行了限制。
为兼容各个浏览器的请求长度,可以总结为:URL长度限制为2083个字符。
下面是各个浏览器对字符长度的具体限制:
Microsoft Internet Explorer (Browser)
IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。
Firefox (Browser)
对于Firefox浏览器URL的长度限制为65,536个字符。
Safari (Browser)
URL最大长度限制为 80,000个字符。
Opera (Browser)
URL最大长度限制为190,000个字符。
Google (chrome)
URL最大长度限制为8182个字符。
Apache (Server)
能接受最大url长度为8,192个字符。
Microsoft Internet Information Server(IIS)
能接受最大url的长度为16,384个字符。
通过上面的数据可知,为了让所有的用户都能正常浏览, URL最好不要超过IE的最大长度限制(2083个字符),当然,如果URL不直接提供给用户,而是提供给程序调用,这时的长度就只受Web服务器影响了。
注:对于中文的传递,最终会为urlencode后的编码形式进行传递,如果浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。
因此如果使用的 GET 方法,最大长度等于URL最大长度减去实际路径中的字符数。

POST请求大小限制

POST请求理论上也是不限制大小的,真正对其大小进行限制的是服务器的处理程序能力。Tomcat服务器对POST大小限制为2M,这也就能解释为什么第三方给我POST过来3张图片(正常是300|400KB一张图片)的数据时候会有时候能接收到,有时候就只能收到null值。
解决这个问题可以在Tomcat的配置文件里取消POST大小限制,在conf目录下,server.xml文件,修改

<Connector port="8080" protocol="HTTP/1.1"  
      connectionTimeout="20000"  
      redirectPort="8443" maxPostSize="0"/>  

maxPostSize=“0”,即取消POST的大小限制!

最后

以上就是小巧秀发为你收集整理的POST请求大小不限制?的全部内容,希望文章能够帮你解决POST请求大小不限制?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部