接受 HTTP 请求中的标头

Bha*_*sal 2 http request

我正在尝试学习一般的 Web 服务,但有一点疑问。

当发送 HTTP 请求时,如果我在 Accept 标头中提到特定格式(例如 JSON)并假设服务器不支持该格式,那么它是网络调用错误还是服务器仍将以其支持的任何格式响应?

我知道在发送 POST 请求时,客户端按名称“内容类型”发送另一个标头,如果服务器不支持该格式,则它会以 415 错误响应。(不受支持的媒体类型)。

Jul*_*hke 5

这取决于服务器。不需要关注 Accept 头域。

没有任何 Accept 头字段的请求意味着用户代理将接受任何媒体类型作为响应。如果请求中存在标头字段并且响应的可用表示都没有列为可接受的媒体类型,则源服务器可以通过发送 406(不可接受)响应来接受标头字段或忽略标头字段,将响应视为不受内容协商的影响。

(来自https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.5.3.2.p.7