PHP的 get 和 post 的区别?
PHP的 get 和 post 的区别?
1、get是从服务器上获取数据,post是向服务器传送数据;
2、get传送的数据不能大于2KB,而post传送的数据是没有大小限制;
3、get安全性非常低,post安全性较高。
推荐文章:PHP
GET方法长度限制
Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。
如:IE对URL长度的限制是2083字节(2K+35)。
下面就是对各种浏览器和服务器的最大处理能力做一些说明
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是没有大小限制的。HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。
如:在Tomcat下取消POST大小的限制(Tomcat默认2M);
打开tomcat目录下的conf目录,打开server.xml 文件,修改maxPostSize="0" (设为0是取消POST的大小限制)
另外HTTP 协议从未规定 GET/POST 的请求长度限制是多少。
日常我们所说的请求长度限制是由浏览器和 web 服务器决定和设置的,各种浏览器和 web 服务器的设定均不一样,这依赖于各个浏览器厂家的规定或者可以根据 web 服务器的处理能力来设定。
相关推荐:《PHP的HTTP协议视频教程》
以上就是PHP的 get 和 post 的区别?的详细内容,更多请关注其它相关文章!
上一篇: html5页面交互元素有哪些
推荐阅读
-
详谈锁和监视器之间的区别_Java并发
-
PHP中__autoload和Smarty冲突的简单解决方法
-
深入Synchronized和java.util.concurrent.locks.Lock的区别详解
-
浅析Python中元祖、列表和字典的区别
-
解决表单post,get到springMVC后台乱码的问题
-
java final 和instanceof 关键字的区别
-
WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析
-
师范学校和非师范学校的师范专业有什么区别?全国师范排名三十强2021
-
浅谈Java中BIO、NIO和AIO的区别和应用场景
-
Java中HashMap和Hashtable及HashSet的区别