HTTP 中的标头接受

use*_*605 2 network-programming protocols http http-headers

我在 http 中遇到“Accept”标头的问题。我写了一个http客户端,当我设置“接受:image/png”时,我仍然可以读取任何文件(如txt、html等)。我认为当像上面那样设置标题“Accept”时,这是不可能的。

我尝试检查我的 Firefox 的行为方式。我写了“about:config”并将“network.http.accept.default”设置为“image/png”,我就可以像平常一样上网了。

我是否误解了这个标题的含义?我认为我应该只能打开文件 *.png。

Mar*_*ham 5

接受不是强制性的;服务器可以(而且经常)要么不实现它,要么决定返回其他内容。

如果请求中存在 [Accept] 标头字段,并且响应的可用表示均不具有被列为可接受的媒体类型,则源服务器可以通过发送 406(不可接受)响应来遵守标头字段,或者通过将响应视为不受内容协商的影响来忽略标头字段。

来源 - RFC 7231 5.3.2。接受