4

我发现有些服务器以 HTTP 405 响应HEAD请求(或另一个状态代码,包括 404,这使 IMO 感到困惑,但现在这并不重要)即使GET请求是用 HTTP 200 响应的。HTTP 405 被定义为......

405 方法不允许

Request-URI 所标识的资源不允许使用 Request-Line 中指定的方法。响应必须包含一个 Allow 标头,其中包含所请求资源的有效方法列表。

好吧,我查看了Allow标题,发现我可以GET用来获取资源(即使我只想找出资源是否存在)。问题解决了。

但是,我的问题是......为什么服务器不允许该HEAD方法?有什么好处?是否有可能的安全原因?

4

1 回答 1

4

我认为这是因为当他们的仅 HTTPS 站点通过 HTTP 获得大量 HEAD 请求时,他们收到的日志中充满了“请求的资源只能通过 SSL 访问”错误。我认为他们将“方法”与“协议”混为一谈,因此认为 405 是有道理的。

有关某人询问该问题并被告知提供 405 的示例,请参阅此帖子。

于 2017-10-10T15:47:08.907 回答