gpt4 book ai didi

http - 如何构造一个不需要主体的 POST 请求

转载 作者:可可西里 更新时间:2023-11-01 15:17:28 26 4
gpt4 key购买 nike

我有一个 HTTP 客户端向服务器发送许多 POST 请求。服务器使用 201 Created 和响应主体响应所有请求。出于我的目的,响应 header 就足够了,因为我只对 Location header 感兴趣。我想避免服务器生成响应主体以显着减少网络流量。

根据 RFC 7231 , ...

  [...] if one or more resources has been created on the origin server as a
result of successfully processing a POST request, the origin server
SHOULD send a 201 (Created) response containing a Location header [...]

...,因此,我假设服务器也可以响应,例如204 No Content,省略正文。

因此我的问题是:是否可以构造一个 POST 请求,使服务器响应 204 No Content 或以其他方式省略响应主体?

更新 1:服务器端是一个 Spring Data REST 项目,我可以自由配置它。我知道我可以将 RepositoryRestConfiguration#setReturnBodyOnCreate 设置为 false,但这样做会过头,因为它会影响所有传入请求。因此,我更愿意在客户端做出决定。

最佳答案

没有真正的杠杆可以从客户端拉动来控制服务器是否响应正文,除非您使用的服务具有允许这样做的特定功能。

服务器可能使用的 header 是Prefer: return=minimal,但如果服务没有明确记录对此的支持,那么它起作用的可能性很低。

真正认为您可以为客户做的唯一事情是:

  1. 收到响应头后立即终止 TCP 连接
  2. 收到 header 后终止 HTTP/2 流。

这是一件非常“激烈”的事情,但客户确实在某些情况下使用了这种机制并且它确实有效。但是,如果 POST 响应正文有点小,则可能不会真正产生很大的不同,因为响应可能已经发送。

关于http - 如何构造一个不需要主体的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53391369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com