HTTP HEAD和GET结果不同

Nic*_*men 4 http http-headers

HEADGET方法应返回相同的状态代码吗?更具体地说,我们遇到了这样的情况:客户网站200在执行时HEAD返回a,而303在执行时返回a GET。它与根据位置重定向到特定于语言的页面有关,但是HEAD那时是否还不要求您重定向?

Bal*_*usC 5

但是HEAD不应同时要求您重定向吗?

关键是单词SHOULD。根据HTTP方法规范RFC2616

9.4头

HEAD方法与GET相同,除了服务器MUST NOT在响应中返回消息正文。响应HEAD请求的HTTP标头中包含的元SHOULD信息与响应GET请求发送的信息相同。

这个词SHOULDRFC2119中进一步定义

SHOULD 这个词,或形容词“推荐”,意味着在特定情况下可能存在忽略特定项目的正当理由,但是在选择其他课程之前,必须理解并仔细权衡所有含义。

因此,您描述的情况是合法的,但不建议这样做。您可能需要向站点维护者询问此路径的原因。