RFC 10008:全新的 HTTP QUERY 方法
开发人员在获取复杂数据时面临着一个问题。你想使用 GET,但它有局限性。你想使用 POST,但它并不是完成这项工作的合适工具。RFC 10008 提出了一种新的解决方案:QUERY 方法。
目前使用 GET 的困境:
- URL 限制:浏览器和服务器会对 URL 长度进行限制。大型过滤器会导致请求失败。
- 结构混乱:GET 使用简单的键值对。发送嵌套的 JSON 对象非常困难。
- 隐私风险:查询参数会出现在服务器日志和浏览器历史记录中。
目前使用 POST 的困境:
- 语义错误:POST 告诉服务器你想创建或更改数据。
- 缓存问题:大多数系统不会缓存 POST 请求。这会降低应用程序的运行速度。
QUERY 方法改变了现状。它允许你通过请求体进行数据检索。它能保持 API 的整洁,并遵循正确的规范。
QUERY 方法的优势:
- 支持复杂请求体:你可以发送完整的 JSON 对象作为搜索过滤器。
- 安全性高:它不会改变服务器状态。
- 提升速度:它允许像 GET 方法一样进行高效缓存。
不要再强迫 POST 去承担 GET 的工作了。QUERY 方法提供了一种在不破坏 HTTP 标准的情况下获取丰富数据的方式。
来源:https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-rfc-10008-the-new-http-query-method-25fo