HTTP重定向代码之间的区别

2023-11-24

我不清楚各种 HTTP 3XX 重定向代码之间的差异。是的,我已经阅读了规范,但标准与实际实践之间似乎存在一些差异。

The 301重定向代码似乎足够清楚:这意味着资源已永久移动到另一个 URI,并且将来的请求应使用该 URI。

And the 307重定向代码似乎也很清楚:这意味着重定向是临时的,将来的请求仍应使用原始 URI。

但我无法说出两者之间有什么区别302 and 303,或者为什么它们中的任何一个与301。看起来302最初的目的是成为一个暂时的重定向,(例如307),但实际上,大多数浏览器将其视为303。但是a和a有什么区别303 and a 301? Is 301应该意味着重定向是more永恒的?


  • 301:永久重定向。对此资源发出后续请求的客户端应使用新的 URI。客户应该not自动遵循 POST/PUT/DELETE 请求的重定向。
  • 302:由于未定义原因而重定向。对该资源发出后续请求的客户端应该not使用新的 URI。客户应该not自动遵循 POST/PUT/DELETE 请求的重定向。
  • 303:由于未定义原因而重定向。通常,“操作已完成,在其他地方继续”。对该资源发出后续请求的客户端应该not使用新的 URI。客户should遵循 POST/PUT/DELETE 请求的重定向,但是使用 GET 进行后续请求.
  • 307: 临时重定向。资源稍后可能会返回到此位置。对此资源发出后续请求的客户端应使用旧的 URI。客户应该not自动遵循 POST/PUT/DELETE 请求的重定向。

如果可以选择的话,我个人建议避免使用 302。许多客户端在遇到 302 时并不遵循规范。对于临时重定向,您应该使用 303 或 307,具体取决于您希望对非 GET 请求执行什么类型的行为。优先选择 307 而不是 303,除非您需要 POST/PUT/DELETE 上的替代行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP重定向代码之间的区别 的相关文章

随机推荐

  • 拥有 SQLite 和多个表的自己的 ContentProvider

    我在读本教程关于实现我自己的 ContentProvide 以使用 SQLite 在 ContentProvider query 中 有一些事情让我困惑 它似乎非常硬编码为一张表 教程中的待办事项表 但也许我只是不明白 现在 如果我想查询另
  • Python-删除旧文件

    我对 python 有点陌生 一直在尝试自己解决这个问题 但到目前为止只得到了一些零碎的东西 基本上 我正在寻找一个脚本 它将递归搜索目录及其子目录 并删除至少 24 小时前的文件 但不会更改目录 非常感谢任何建议或示例 这使用了os wa
  • jQuery 真正支持哪些 CSS3 选择器,例如:第n个最后一个孩子()?

    根据http api jquery com category selectors 我们可以在 jQuery 中使用大量的 CSS 选择器 但是例如 nth last child 那里没有提到 然而 当我测试以下内容时 使用来自 Google
  • 生成固定长度整数分区的所有唯一排列的算法?

    我正在寻找一种生成整数固定长度分区的所有排列的算法 顺序并不重要 例如 对于 n 4 且长度 L 3 0 2 2 2 0 2 2 2 0 2 1 1 1 2 1 1 1 2 0 1 3 0 3 1 3 0 1 3 1 0 1 3 0 1 0
  • 单个 Git 存储库中的公共和私有代码

    我参与的一个研究小组目前将所有代码托管在一个私有 SVN 存储库中 我们想开放我们的代码并将大部分代码移至 Github 上 问题是 有些代码是敏感的 不应该开放 但我们仍然希望它处于版本控制之下 目前 我们在 Github 上有开放代码
  • WPF:PropertyChangedCallback 仅触发一次

    我有一个用户控件 它公开一个名为 VisibileItems 的 DependencyProperty 每次更新该属性时 我都需要触发另一个事件 为了实现这一点 我添加了带有 PropertyChangedCallback 事件的 Fram
  • 限制对 Elastic Beanstalk 的 HTTP 访问

    是否可以将对 Elastic Beanstalk 应用程序的 HTTP 访问限制为仅某些 IP 地址 我已尝试向环境的安全组添加规 则 但这些规则似乎没有任何效果 这是因为所有 HTTP 流量都是通过弹性负载均衡器路由的吗 isn t安全组
  • C# 继承和默认构造函数

    假设有一个基类A和一个班级B源自A 那么我们知道类的构造函数A永远不会被类继承B 然而 当一个新对象B创建 然后 类的默认构造函数A在类的默认 自定义构造函数之前调用B被调用 也许这样做的目的是类的字段A需要初始化为默认值 现在 假设该类A
  • 如何在 Kubernetes Pod 之间共享存储?

    我正在评估 Kubernetes 作为我们新应用程序的平台 现在看来 一切都非常令人兴奋 但是 我遇到了一个问题 我在 GCE 上托管集群 并且需要某种机制在两个 pod 持续集成服务器和我的应用程序服务器 之间共享存储 使用 kubern
  • 起订量索引属性并在返回/回调中使用索引值

    我想要起订量一个具有索引的属性 并且我希望能够在回调中使用索引值 就像您可以在回调中使用起订量方法的方法参数一样 可能最容易用一个例子来演示 public interface IToMoq int Add int x int y int t
  • Android + Proguard + Apache POI

    有人能够在混淆后让 Apache POI 库正常工作 我查阅了很多资料 尝试了不同的方法 但仍然得到错误 a a b a Provider com bea xml stream EventFactory not found org apac
  • 使用 Sed 替换包含字符串的整行

    我有一个文本文件 其中有一个特定的行 例如 sometext sometext sometext TEXT TO BE REPLACED sometext sometext sometext 我需要将上面的整行替换为 This line i
  • 智能感知中的自定义代码片段

    我已经开始将一些常用的代码块导出到自定义片段 有没有办法让这些显示在 IntelliSense 中 而不必使用上下文菜单或代码片段管理器中的代码片段浏览器 起初 我以为这与 ReSharper 有关 但当我禁用 ReSharper Inte
  • Android webkit 浏览器中的宽度不正确

    我注意到 Android 默认浏览器上有一个问题 100 宽度实际上可能会超出屏幕边缘 这是一个最小的测试用例 div class separator width 100 style border 2px padding 2px nbsp
  • 如何编写一个返回仅存在于类中的类型的成员函数?

    我实际上正在用 C 实现一个双向链表 这是某种 MWE namespace mynamespace template
  • 哪里有可靠的注册表项来查找 Excel 2007 的安装位置?

    哪里有可靠的注册表项来查找 Excel 2007 的安装位置 怎么样 HKEY LOCAL MACHINE SOFTWARE Microsoft Office X 0 Common InstallRoot 其中包含一个名为 Path 的键
  • django-rest-framework:如何序列化已包含 JSON 的字段?

    我对 django rest framework 很陌生 所以需要一些帮助 我有一个带有 TextField 的对象 该对象是包含 JSON 的字符串 我正在使用 django rest framework 将整个对象序列化为 JSON 然
  • 为什么禁止内联脚本(内容安全策略)?

    我想知道规范中的引用 https dvcs w3 org hg content security policy raw file tip csp specification dev html 为了获得最大的好处 作者需要将所有内联脚本和样式
  • Keras:制作神经网络来查找数字的模数

    我是一位经验丰富的 Python 开发人员 但在机器学习方面完全是新手 这是我第一次尝试使用 Keras 你能告诉我我做错了什么吗 我正在尝试制作一个神经网络 它接受二进制形式的数字 并在除以 7 时输出其模数 我的目标是执行一个非常简单的
  • HTTP重定向代码之间的区别

    我不清楚各种 HTTP 3XX 重定向代码之间的差异 是的 我已经阅读了规范 但标准与实际实践之间似乎存在一些差异 The 301重定向代码似乎足够清楚 这意味着资源已永久移动到另一个 URI 并且将来的请求应使用该 URI And the