浏览器是否对标题中给出的位置发出新请求?
我问,因为我正在玩Fiddler并注意到当我向返回302 HTTP代码的页面发出请求时,网络日志中有两个条目。第一个是初始URL,第二个是第一个请求的响应头中给出的新位置。
我很好奇Web浏览器是否以相同的方式工作,但只是隐藏了用户的第一个响应。
答案 0 :(得分:1)
是的,浏览器的工作方式非常相似。您可以尝试在Chrome中请求网址,可能是您在Fiddler中尝试过的网址。 chrome的网络日志会显示两个请求。
可以通过here,
读取HTTP状态代码的RFC说明仅从那里引用,关于302状态代码:
RFC 1945和RFC 2068指定不允许客户端 更改重定向请求的方法。但是,大多数 现有的用户代理实现将302视为303 响应,无论如何都对位置字段值执行GET 原始请求方法。状态代码303和307具有 已添加到希望明确清楚哪些服务器的服务器 对客户的反应是预期的。
当服务器以302状态代码响应时,它会将较新的URL(当前请求的旧URL将被重定向)发送回请求的用户代理(可能是浏览器)。现在,根据RFC文档,用户代理不得为302状态代码请求更新的URL。然而,他们中的大多数确实提出了第二个要求
希望此结果有帮助。