1. 最直观的就是语义上的区别,get用于获取数据,post用于提交数据。
2. get参数有长度限制(受限于url长度,具体的数值取决于浏览器和服务器的限制),而post无限制(指HTTP,没有对POST进行任何限制)
2. get参数有长度限制(受限于url长度,具体的数值取决于浏览器和服务器的限制),而post无限制(指HTTP,没有对POST进行任何限制)
GET和POST长度的限制问题
GET
1.GET是通过URL提交数据,因此GET可提交的数据量就跟URL所能达到的最大长度有直接关系。
2.实际上HTTP协议对URL长度是没有限制的;限制URL长度大多数是浏览器或者服务器的配置参数
POST
1.同样的,HTTP协议没有对POST进行任何限制,一般是受服务器配置限制或者内存大小。
2.PHP下可以修改php.conf的postmaxsize来设置POST的大小。
GET和POST的安全性
1.GET是通过URL方式请求,可以直接看到,明文传输。
2.POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的。 3.GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中。
GET和POST对服务器的状态
根据http的设计,大家在看到get的时候,都期望这个请求对服务器没有修改,看到post的时候,都认为这对服务器产生了修改。