GET请求和POST请求方法的区别

1.本质上没差别,都是TCP连接。只不过因为HTTP的规定和浏览器/服务器的限制和人们日常开发中的约定俗成,导致他们在应用过程中体现出一些不同。get获取资源,post传输资源。

2.get产生一个TCP数据包将http header和data一起发送,post产生两个数据包将http header和data分开发送,说到底协议是协议,遵不遵守就是开发者的事情。

3.GET请求参数通过URL传递,POST放在Request body中。通过这个差别只需要对url和request body做分析即可。url回退安全,参数相对来说更容易暴露,数据类型只接受ASCII(空格

是%20),url有长度限制(http1.1协议没限制,浏览器有限制),保存在浏览器历史,默认被浏览器Cache。

 

语义上的区别:
GET - 获取指定资源,安全、幂等、可缓存。
POST - 根据请求对指定资源做处理,不安全、不幂等、大多数浏览器中不可缓存。


表现上的区别:
GET - 参数暴露、长度限制。
POST - 参数不暴露、长度无限制。
但长度限制并不是出自HTTP协议的规定,而是因为浏览器对URL有长度限制。

posted @ 2022-05-12 16:08  千城墨白丶  阅读(102)  评论(0)    收藏  举报