赞
踩
1.语义不同,GET是获取数据,POST是提交数据。
2.HTTP规定GET比POST安全,因为GET只作读取,不会改变服务器中的数据。但这只是规范,并不能保证请求方法的实现也是安全的。
3.GET请求会把附加参数带在URL上,而POST请求会把提交数据放在报文内。在浏览器中,URL的长度会被限制,所以GET请求能传递的数据有限,但HTTP其实没有对其做限制,只是浏览器在限制。
4.HTTP规定GET是幂等的,而POST不是,所谓幂等是指多次请求返回相同的结果,实际应用没有这么严格,当GET获取动态数据时,每次的结果可能有所不同。
GET 是会被浏览器主动缓存的,如果下一次传输的数据相同,那么就会返回缓存中的内容,以求更快地展示数据。GET 方法只产生一个 TCP 数据包,浏览器会把请求头和请求数据一并发送出去,服务器响应 200 ok(返回数据)。
POST 方法会产生两个 TCP 数据包,浏览器会先将请求头发送给服务器,待服务器响应100 continue,浏览器再发送请求数据,服务器响应200 ok(返回数据)。
它们的本质都是 TCP 链接,并无区别。但是由于 HTTP 的规定以及浏览器/服务器的限制,导致它们在应用过程中可能会有所不同。
POST请求的四种数据格式
1.application/json:这是最常见的 json 格式
2.application/x-www-form-urlencoded浏览器的原生 form 表单
3.multipart/form-data:这一种是表单格式的
4.text/xml
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。