GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。
1.大多数浏览器通常都会限制url长度在2k个字节,而大多数服务器最多处理64k大小的url,超过部分不处理。
2.GET产生一个TCP数据包,POST产生两个数据包,但有些浏览器只发送一次如friefox
3.GET在浏览器回退时是无害的,二POST会再次提交请求
4.GET请求会被浏览器主动缓存,而POST不会,除非手动设置
5.GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
6.GET请求只能进行url编码,而POST支持多种编码方式
7.GET请求在url中传送的参数是有长度限制的,而POST没有
8.GET请求参数通过url传递,POST放在Request body中
9.GET比POST更不安全,因为参数直接暴露在url上,所以不能用来传递敏感信息