Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 1.43 KB

README.md

File metadata and controls

31 lines (23 loc) · 1.43 KB

所谓 GET 与 POST

HTTP 协议中约定了一组常用的请求方法,用以告知服务器如何操作。

method description
GET 读取数据,没有副作用
POST 发送需要处理的数据
HEAD 读取响应头信息
PUT 提交数据来覆盖指定的资源
DELETE 删除指定的资源

请求方法多且繁杂(且可以自定义),但最常用的方法为 GET 与 POST, 本文用以描述二者的一些异同。

方法是死的,人是活的。

相同点

  • HTTP 协议本身就是基于 TCP 协议的应用层协议(QUIC 协议基于 UDP),不同方法只是人为约定的一些规范。

不同点

point GET POST 备注
形式(浏览器中) 由于通常 GET 为点击触发,因此参数一般放到 url 中 POST 来自于表单,因此数据一般放在 body 中;当然 URL 内也可以带有数据
形式(接口中) 服务器内的各个服务之间相互调用也是 HTTP, 对此并无严格的限制
缓存 GET 为只读,因此 GET 可以做缓存处理 无缓存
安全 HTTP 为明文传输,本身无安全性可言
编码 url 中支持 ASCII 编码 body 中支持二进制
长度限制 受限于 url 长度 HTTP 对 body 长度无限制,更多是浏览器策略
请求次数 GET 为只读,因此一次比较合理 POST 中传输的内容可能过大,因此多一次请求来判断请求体是否满足要求 HTTP 本身无请求次数的限制