数据传输方式不同:Get请求通过url传输数据,而post通过请求体传输
安全性不同:post的数据因为在请求体内,所以有一定的安全性,而get请求的数据在url中,通过历史记录,缓存很容易查询到数据信息
数据类型不同:get数据必须是ASCII字符,而post数据是没有限制的。
Get无害:刷新,后退等浏览器操作GET请求是无害的,而POST请求可能会重复提交数据。
特性不同:GET是安全的(这里的安全是指只读特性,就是使用这个方法不会引起服务器状态变化)且幂等(幂等的概念是同一个请求方法多次和仅执行一次的效果完全相同),而post是非安全幂等
之前一直理解的是get发送请求时传输的数据有限制,其实,不是数据有限制,是不同的浏览器对url的长度有限制,
Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。
如:IE对URL长度的限制是2083字节(2K+35)。
由于IE浏览器对URL长度的允许值是最小的,所以网站开发中,只要URL不超过2083字节,那么在所有浏览器中工作都不会有问题。