GET
HTTP
GET
方法请求指定的资源。使用GET
的请求应该只用于获取数据
GET
请求没有主体,在正确实现的条件下GET
方式是安全、幂等、可缓存的,并且支持html表单提交
POST
HTTP
POST
方法 发送数据给服务器
POST
请求通常是通过HTML表达发送,并返回服务器的修改结果
POST有请求体,POST方式是不安全、不幂等、可缓存的
但连续调用同一个POST
可能会带来额外的影响,比如多次提交订单
总结!
GET和POST所谓区别,只是浏览器厂家根据约定,做得限制而已:
-
-
GET
传输的数据量有限,因为url的长度有限,POST
则不受限 -
GET
请求的参数只能是ASCII码(中文需要URL编码) -
GET
产生一个TCP数据包,POST
-
-
对于
POST
-
因为POST
需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。
为什么?
-
GET
与POST
都有自己的语义,不能随便混用 -
在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视
-
并不是所有浏览器都会在
POST
中发送两次包,