get和post区别
-
GET和POST都是HTTP的请求方法
GET:申请获取资源,而不对服务器产生任何其他影响
POST:客户端向服务器提交数据的方法。这种方法会影响服务器:服务器可能根据收到的数据动态创建新的资源,也可能更新原有的资源
-
GET和POST的区别:
- GET一般用于检索、获取资源,POST用于创建、更新资源
- GET方法会把参数放到url后边进行传递,而POST把参数放到Request body里
- GET请求会被浏览器主动缓存,而POST不会除非手动设置。GET回退浏览器无害,POST会再次提交请求(GET方法回退后浏览器再缓存中拿结果,POST每次都会创建新资源)
- GET会被完整的保留在浏览器历史记录里而POST的参数不会被保留
- GET把参数放到url后边传递,而浏览器的url长度有限,这里要注意GET的长度并没有明文规定有限,只是因为它受限于浏览器才变得有限。而POST发送数据的大小也会被浏览器和服务器限制,只是这个限制对于一般的数据都足够用。
- GET产生一个TCP数据包,POST产生两个TCP数据包,对于GET请求浏览器会将请求头和请求体一并发送出去,而post会将请求头发送出去,服务器响应100continue,浏览器再将请求体发送出去
- GET请求只能进行url编码(appliacation-x-www-form-urlencoded),POST请求支持多种编码方式(multipart/form-data等)