HTTP HEAD和GET结果不同

时间:2013-03-18 13:14:09

标签: http http-headers

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

1 个答案:

答案 0 :(得分:4)

  

但是HEAD不应该要求你重定向吗?

关键是单词SHOULD。来自HTTP method specification, RFC2616

  

9.4 HEAD

     

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

RFC2119中明确指出SHOULD这个词:

  

SHOULD 这个词,或形容词“推荐”,意味着那里   在特定情况下可能存在有效理由忽略a   特殊项目,但必须理解全部含义   在选择不同的课程之前仔细权衡。

所以,你描述的案例是合法的,但不推荐。您可能需要向网站维护者询问此路径的原因。