天天看点

Network - get 和 post 请求有哪些区别

简易版

Network - get 和 post 请求有哪些区别

数据/参数在哪里:

GET 是通过 URL 方式请求,可以直接看到,明文传输

POST 参数数据被包含在请求体中。通过 header 传输,同样是明文。但比直接显示在URL中安全多了

对数据长度的限制:

GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

http 协议并未规定 get 和post  的长度限制

get 的最大长度限制是因为浏览器和 web 服务器限制了 URL 的长度

不同的浏览器和web服务器,限制的最大长度不一样

超出了最大长度,大部分的服务器直接截断,有些服务器会报414错误

POST 没有限制

是否会缓存:

浏览器会缓存和记录 GET 请求及参数(这一点不是很安全,如参数中包含敏感信息可能被其他从浏览器的缓存和浏览记录获取)

不缓存 POST 的请求的参数

是否会修改服务器内容(= 幂等性 Idempotent ?):

GET 只读服务器数据不会修改; 幂等简单理解就是每次请求结果和产生的影响都一样 

POST 请求可能会导致新的资源的建立和/或已有资源的修改

继续阅读