Mar*_*cel 1 http http-status-codes
如果您GET
对资源进行了请求,那么您可以获得Not Modified响应以避免不必要的流量.
问题是为什么返回代码是304
?这意味着它是一个重定向响应.在这种情况下,预期的重定向位置是什么?
我2xx
原本预计它会在范围内,因为它是一个有效答案的成功请求.
请参阅RFC.
请不要再使用旧的和久已过时的RFC 2616作为参考.它完全被RFC 7230-35淘汰,它们共同定义了HTTP协议.
如RFC 7231中所述,有几种类型的重定向,其中一种是对缓存资源的隐式重定向,如304
状态代码所示(突出显示为我的):
的
3xx
(重定向)类的状态代码表示进一步的动作,才能完成请求将要采取的用户代理.[...]有几种类型的重定向:
重定向指示资源可能在
Location
字段提供的不同URI处可用,如状态代码301
(永久移动),302
(找到)和307
(临时重定向).重定向,提供匹配资源的选择,每个都能够表示原始请求目标,如
300
(多个选择)状态代码中所示.重定向到由
Location
字段标识的不同资源,该资源可以表示对请求的间接响应,如303
(请参阅其他)状态代码中所示.重定向到先前缓存的结果,如
304
(未修改)状态代码中所示.
该
304
(未修改)状态代码表示条件GET
或HEAD
要求已收到,并会导致在一个200
(OK)响应,如果不是为事实的条件评价为假.换句话说,服务器不需要传送目标资源的表示,因为请求指示使请求有条件的客户端已经具有有效表示; 因此,服务器重定向客户端以使用该存储的表示,就好像它是200
(OK)响应的有效负载一样.