为什么 Google 不使用 POST 请求进行基于浏览器的搜索?

Why doesn't Google use a POST request for browser-based searches?

GET 请求必须将所有查询参数直接放在 URL 中,互联网服务提供商会记录并收集这些参数以进行广告定位。

为什么大型搜索提供商不将主页搜索请求转换为 POST 请求以防止 URL 窥探?

Why don't large search providers convert homepage search requests into POST requests to prevent URL snooping?

两个原因:

  1. 任何可以看到请求的读取目标 URI 的人也可以读取消息正文。元数据和有效负载都是相同 message.

    的一部分
  2. Caching; HTTP 的所有语义都由元数据描述,因此通用组件无需了解有效负载即可为协议做出贡献。

What REST does is concentrate that need for prior knowledge into readily standardizable forms. -- Fielding, 2008

在 HTTP 中,所有通用组件共享的先验知识形式之一是 target-uri 可用作表示的缓存键。