GET和POST区别

<h2>GET和POST是HTTP协议中的两种发送请求的方法。基于TCP/IP</h2>

<h2>本质区别</h2>

GET产生一个TCP数据包,POST产生两个TCP数据包,换而言之:

GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

<h4>影响</h4>

因为发送数据包次数不同所以会产生影响:<strong>在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。</strong>

<h2>用法的区别</h2>

1.刷新后GET是无害的但POST数据会被重新提交;

2.GET可以收藏为书签,POST不可以收藏为书签;

3.GET能进行缓存,POST不能缓存;

4.GET编码数据类型只允许ASCII,POST没有数据类型限制;

5.GET参数可以保留在浏览器历史中,POST参数不保存;

6.GET数据长度有限制,最大2048字符,POST没有限制;

7.GET安全性较差,POST比较安全;

8.GET参数通过URL传递,POST放在Request body中。

<h2>必须使用 POST 的情况</h2>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容