当前位置: 首页 > news >正文

HTTP 重定向

什么是 HTTP 重定向?

HTTP 重定向(HTTP Redirect) 是服务器向客户端(通常是浏览器)发出的指令,告诉客户端某个请求的资源已被移到新的位置。重定向通常通过发送一个特殊的 HTTP 状态码(例如 3xx 系列状态码)和一个 Location 头,指示客户端去访问新的 URL。

重定向的场景

永久重定向(Permanent Redirect)

永久重定向 是 HTTP 状态码 301308 所代表的重定向类型,用于告知客户端和搜索引擎,某个资源已永久迁移到新位置。这些重定向的关键在于 "永久",即原始 URL 将不再有效,应该替换为新 URL。永久重定向不仅影响浏览器,还会被搜索引擎RSS 订阅器和其他网络爬虫采纳,用来更新资源的地址。

状态码描述请求方法变化应用场景
301

永久移动(Moved Permanently)

GET 方法不变,其他方法可能会改变为 GET网站迁移、URL 改变、搜索引擎优化、重定向旧资源到新资源
308

永久重定向(Permanent Redirect)

请求方法保持不变(包括非 GET 请求,如 POST、PUT 等)网站迁移或 URL 重构时,要求保持原请求方法不变的情况

临时重定向(Temporary Redirect)

临时重定向 用于告诉客户端某个资源当前无法从原位置访问,但可以通过临时的另一个 URL 来访问。它是指 短期的变动,意味着 客户端不应更新其缓存或链接,也不应将新的 URL 视为资源的永久位置。

状态码描述请求方法变化请求体变化应用场景
302临时重定向(Found)GET 方法不变,其他方法可能变为 GET请求体可能被丢弃页面暂时不可用,服务器引导客户端到其他地方
303查看其他(See Other)请求方法变为 GET请求体丢失用于 POST 或 PUT 请求后,避免重复提交数据
307临时重定向(Temporary Redirect)请求方法不变请求体不变非 GET 请求时,确保方法和请求体不被改变

特殊重定向(Special Redirections)

除了常见的永久和临时重定向,HTTP 还定义了两种特殊类型的重定向:304 (Not Modified)300 (Multiple Choices)。这两种状态码在特定的场景下用于优化用户体验或提供选择性重定向。

状态码描述响应体用途
304未修改(Not Modified)无响应体用于缓存验证,告诉客户端缓存的资源未被修改,可以继续使用本地缓存
300多种选择(Multiple Choices)含有多个可选的 URL服务器提供多个资源供客户端选择,用户需手动选择访问哪个资源

无限重定向

重定向循环是指一个页面不断地被重定向到另一个页面,而新的页面又重定向回原来的页面,形成一个无法结束的循环,导致无法访问任何页面。这种问题通常是服务器配置错误引起的,如果服务器能检测到这个问题,它可能会返回 500 内部服务器错误

参考

Redirections in HTTP - HTTP | MDN

http://www.dtcms.com/a/268893.html

相关文章:

  • python 数据分析 单细胞测序数据分析 相关的图表,常见于肿瘤免疫微环境、细胞亚群功能研究 ,各图表类型及逻辑关系如下
  • Python实现文件夹中文件名与Excel中存在的文件名进行对比,并进行删除操作
  • 护照阅读器在酒店应用场景
  • 【机器学习笔记 Ⅱ】8 多标签和多类别
  • 2. 你可以说一下 http 版本的发展过程吗
  • 【PTA数据结构 | C语言版】计算1~n与1~m每一项相互乘积的和
  • ArcGIS 水文分析升级:基于深度学习的流域洪水演进过程模拟
  • windows安装python环境以及对应编辑器的详细流程
  • 告别数据不一致!Spring Boot+Canal+RocketMQ实现精准的MySQL变更监听
  • 【flutter 在最新版本中已经弃用了传统的 apply from 方式引入 Gradle 插件】
  • 源哈希(sh)解析
  • 如果让计算机理解人类语言- One-hot 编码(One-hot Encoding,1950s)
  • Charles 中文版抓包工具详解:加速 API 调试与网络问题排查
  • tensorflow武林志第三卷第一章:天罗剑网
  • 【Java】switch,case,default,break用法
  • 在线学堂-4.媒资管理模块(三)
  • 技术面试题,HR面试题
  • LastActivityView -查看电脑上的所有操作记录
  • 基于MATLAB的图片和视频时间戳识别与可视化系统
  • 国际数字影像产业园:一站式服务,加速企业成长
  • 国产DSP,QXS320F280049,QXS320F28377D,QXS320F2800137,QXS320F28034
  • unity luban接入
  • Kotlin流操作符简介
  • uniapp三步完成生成一维码图片
  • 在linux 上使用tcpdump监听http 端口的报文并分析
  • 部署NextCloud AIO + Frp + nginx-proxy-manager内网穿透私有云服务
  • [免费]基于Python豆瓣电影数据分析及可视化系统(Flask+echarts+pandas)【论文+源码+SQL脚本】
  • WebView安全实现(一)
  • 「Windows/Mac OS」AIGC图片生成视频 ,webui + stable-diffusion环境部署教程
  • Linux系统从入门到精通!第四天(shell编程和Docker)