【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 的区别.

相关推荐
caimouse3 小时前
TDI (传输驱动接口 Transport Driver Interface) 详细分析
网络协议
weixin_446260855 小时前
从被动镜像到主动智能体:面向网络物理人工智能的整体论数字孪生(HDT-Net)
网络·人工智能
ZJH__GO5 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
shengnan_wsn7 小时前
【协议】【TCP】
网络·网络协议·tcp/ip
烟雨江南7857 小时前
2026汽车制造与新能源整车柔性产线Agentic-Workflow白皮书:跨APS_MES_ERP多智能体动态排产与装配容错实战
大数据·网络·人工智能·自动化·ai客服·企业agent
小僧景贤8 小时前
CAN调试全套配件+详细实操使用方法(从零排查、步骤落地、现场通用)
网络·can通信·嵌入式通信
消失的旧时光-19438 小时前
第 3 篇:机器人 TCP 长连接如何稳定运行?心跳、掉线检测与自动重连
网络协议·tcp/ip·机器人
迪康Defender8 小时前
从静态存储到动态流转:终端透明加密两种模式实战解析
运维·服务器·网络·数据库·其他
振浩微433射频芯片9 小时前
用TU2303B双向无线模块打通标准化智能家居接入:433MHz方案的落地优势指南
服务器·网络·人工智能
不弃君9 小时前
在 Windows 上用 MinGW 搭建 lwIP 调试环境:方法与踩坑实录
windows·网络协议·tcp/ip·嵌入式·mingw·lwip