点击页面 “链接” 时的跳转是怎样的呢?
浏览器首先要解析链接文字里的 URI,再用这个 URI 发起一个新的 HTTP 请求,获取响应报文后就会切换显示内容,渲染出新 URI 指向的页面
这样的跳转动作是由浏览器的使用者主动发起的,可以称为 “主动跳转”,还有一类跳转是由服务器发起的,浏览器使用者无法控制,当浏览器请求一个URL时,服务器返回一个重定向指令,告诉浏览器地址已经变了,麻烦使用新的URL再重新发送新请求相对的称为“被动跳转”,这在 HTTP 协议里有个专门名词,叫“重定向”
重定向的过程
我用 Chrome 访问 http://www.chrono.com/18-1 ,它会使用 302 立即跳转到 /index.html
从上面可以看出,这一次重定向实际发送了两次 HTTP 请求,第一次请求返回 302,然后第二个请求就被重定向到了 ./index.html 如果不用开发者工具,完全看不到这个跳转过程,即重定向是 “用户无感知的”
第一个请求返回的响应报文
这里的Location字段属于响应字段,出现在响应报文里&#