HEAD
和GET
方法是否应返回相同的状态代码?更具体地说,我们遇到了一个客户网站在我们执行200
时返回HEAD
但在我们执行303
时返回GET
的情况。它与根据位置重定向到特定于语言的页面有关,但是HEAD
不应该要求您重定向吗?
答案 0 :(得分:4)
但是HEAD不应该要求你重定向吗?
关键是单词SHOULD
。来自HTTP method specification, RFC2616:
9.4 HEAD
HEAD方法与GET相同,只是服务器
MUST NOT
在响应中返回消息正文。响应于HEAD请求SHOULD
的HTTP头中包含的元信息与响应GET请求而发送的信息相同。
在RFC2119中明确指出SHOULD
这个词:
SHOULD
这个词,或形容词“推荐”,意味着那里 在特定情况下可能存在有效理由忽略a 特殊项目,但必须理解全部含义 在选择不同的课程之前仔细权衡。
所以,你描述的案例是合法的,但不推荐。您可能需要向网站维护者询问此路径的原因。