【HTTP】GET 和 POST 的区别

GET 和 POST 的区别

首先:
GET 和 POST 没有本质区别, 具体来说, GET 的使用场景可替换为 POST,POST 使用的场景也可以替换为 GET.

  1. 语义上的区别:
    GET 通常用来获取数据, POST 通常用来上传数据.
    现状是 GET 也经常用来上传数据, POST 也经常用来获取数据.

  2. 数据存放的位置不同:
    GET 没有 body, GET 通过 query string 向服务器传递数据,
    POST 有 body, POST 通过 body 向服务器传递数据,但是 POST 无 query string.

  3. 幂等性:
    幂等: 每次相同的输入, 得到的结果是否是确定的.
    不幂等: 每次相同的输入, 得到的输出结果是不确定的.
    GET 请求是幂等的, 而 POST 请求是不幂等的.

  4. 是否被缓存:
    缓存就是把结果记录, 所以缓存的前提就是结果是幂等的, 这样记录的结果就有用,
    下次访问时就不用再真正的访问服务器, 直接访问缓存, 节省了访问的开销.
    不是幂等的话, 记录结果是没有意义的, 所以如果不是幂等的就不应该去记录.
    因此 GET 可以被缓存, POST 不会被缓存.

注意: HTTP 标准文档中并没有限制 URL 的长度, 所以说数据的长度范围不能作为 POST 和 GET 的区别.文章来源地址https://uudwc.com/A/zkrX1

原文地址:https://blog.csdn.net/m0_61832361/article/details/133018373

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年09月24日 09:51
Scapy 解析 pcap 文件从HTTP流量中提取图片
下一篇 2023年09月24日 09:51