本文是一篇学习笔记,学习的课程是极客时间的《透视HTTP协议》。
透视HTTP协议_HTTP_HTTPS-极客时间 (geekbang.org)
HTTP重定向是Web开发中常用的技术,它允许服务器将客户端请求从一个URI跳转到另一个URI。本文将深入探讨HTTP重定向的工作原理、常见状态码、应用场景以及需要注意的问题。
一、重定向的过程
1.1 重定向的基本原理
HTTP重定向是通过状态码实现的,最常见的状态码是**301(永久重定向)。当浏览器收到这些状态码时,会自动跳转到新的URI。
用Chrome访问URI /18-1
,它会使用302立即跳转到/index.html
。
通过开发者工具可以看到,这次重定向实际上发送了两次HTTP请求:
-
第一个请求返回302状态码。
-
第二个请求被重定向到
/index.html
。
如果不使用开发者工具,用户完全感知不到跳转过程,因此重定向是**用户无感知**的。
1.2 关键字段:Location
重定向的核心是响应头中的Location
字段。它标记了服务器要求重定向的URI。例如
HTTP/1.1 302 Found Location: /index.html
浏览器收到301/302报文后,会检查Location
字段,并从中提取URI,自动发起新的HTTP请求。
URI类型:
-
绝对