使用 301 或 303 将 http 重定向到 https
Posted
技术标签:
【中文标题】使用 301 或 303 将 http 重定向到 https【英文标题】:Use 301 or 303 to redirect http to https 【发布时间】:2015-06-23 16:02:55 【问题描述】:我不确定从 http 重定向到 https 时哪个最适合我的网站。 目前我正在使用 IIS 重写规则来进行重定向。我阅读的有关如何执行此操作的指南使用 301 或 303。在阅读了 301 和 303 之后,我仍然不确定哪个最好使用。
我的理解是,它们在 http 和 https 之间的重定向方面非常相似。
两者之间有什么区别吗?它会以任何方式影响 SEO 吗?
从规范: 301
301(永久移动)状态码表示目标 资源已被分配一个新的永久 URI 和任何未来 对此资源的引用应该使用其中一个封闭的 URI。 具有链接编辑功能的客户端应自动重新链接 对一个或多个新的有效请求 URI 的引用 尽可能由服务器发送的引用。
服务器应该在响应中生成一个 Location 头域 包含新永久 URI 的首选 URI 引用。 用户代理可以将位置字段值用于自动 重定向。服务器的响应负载通常包含一个简短的 带有指向新 URI 的超链接的超文本注释。
Note: For historical reasons, a user agent MAY change the request method from POST to GET for the subsequent request. If this behavior is undesired, the 307 (Temporary Redirect) status code can be used instead.
默认情况下,301 响应是可缓存的;即,除非另有说明 由方法定义或显式缓存控件指示
303
303(见其他)状态码表示服务器是 将用户代理重定向到不同的资源,如 Location 标头字段中的 URI,旨在提供一个 对原始请求的间接响应。用户代理可以执行 以该 URI 为目标的检索请求(如果是 GET 或 HEAD 请求 使用 HTTP),它也可能被重定向,并呈现最终的 结果作为对原始请求的回答。请注意,新的 URI 在 Location 标头字段中不被视为等同于 有效的请求 URI。
此状态码适用于任何 HTTP 方法。它主要是 用于允许 POST 操作的输出重定向用户代理 到选定的资源,因为这样做提供了信息 对应 POST 响应的形式可以分开 独立于原始文件进行识别、添加书签和缓存 请求。
对 GET 请求的 303 响应表明源服务器 没有可以表示的目标资源 由服务器通过 HTTP 传输。但是,位置字段 value 指的是描述目标的资源 资源,以便在该其他资源上发出检索请求 可能会导致对收件人有用的表示,而无需 暗示它代表原始目标资源。请注意 什么可以表示,什么问题的答案 表示是足够的,什么可能是有用的描述 不在 HTTP 的范围内。
除了对 HEAD 请求的响应外,303 的表示 回复应包含一个简短的超文本注释,其中包含指向的超链接 Location 标头字段中提供的相同 URI 引用。
【问题讨论】:
【参考方案1】:谷歌说:
使用服务器端 301 HTTP 重定向将您的用户和搜索引擎重定向到 HTTPS 页面或资源。
我建议遵循 Google 的建议,而不是尝试实施 303 策略。
来源:https://support.google.com/webmasters/answer/6073543?hl=en
【讨论】:
【参考方案2】:当您将 http 重定向到 https 时,本质上您希望从 SEO 角度保留“链接汁”。
您可能知道,Google 会考虑网站的反向链接数量来进行排名。
301 和 303 重定向之间的主要区别本质上是它是否通过链接汁。像您提到的那样存在技术差异,但从 SEO 的角度来看,301 是更好的选择。
这是一篇博文,展示了 303 可能如何影响您网站的 SEO。 https://digitalreadymarketing.com/303-redirect-effect-seo/
如果您有兴趣了解有关重复内容的更多信息(http 和 https 是典型的重复内容问题),请查看此帖子。 https://digitalreadymarketing.com/what-is-duplicate-content-how-to-find-solve-them/
【讨论】:
以上是关于使用 301 或 303 将 http 重定向到 https的主要内容,如果未能解决你的问题,请参考以下文章
http 状态码301、302、303、307、308 的区别