使用301或303重定向HTTP到HTTPS

24

我不确定重定向从http到https时使用哪个方法最好。目前我正在使用IIS重写规则进行重定向。我阅读的指南要么使用301要么使用303来执行此操作。但是,经过阅读301和303之后,我仍然不确定哪种最好使用。

据我理解,它们在将http重定向到https方面的作用几乎相同。

它们有什么区别,并且使用其中一种是否会影响SEO?

根据规范:

301

301(永久移动)状态代码表示目标资源已被分配了新的永久URI,并且
今后对该资源的任何引用都应使用所包含的URI之一。
具有链接编辑功能的客户端应自动重新链接到有效请求URI的引用一个或多个新的
引用服务器发送的位置,如果可能的话。

服务器应在响应中生成一个Location头字段,其中包含新永久URI的首选URI引用。用户代理可以使用Location字段值自动重定向。服务器的响应负载通常包含一个简短的超文本注释,其中包含指向新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(See Other)状态代码表示服务器正在将用户代理重定向到不同的资源,如"Location"头字段中所示的URI,旨在为原始请求提供间接响应。用户代理可以执行针对该URI的检索请求(如果使用HTTP,则为GET或HEAD请求),该请求也可能会被重定向,并将最终结果呈现为对原始请求的答案。请注意,“Location”头字段中的新URI不被视为等价于有效请求URI。

此状态代码适用于任何HTTP方法。它主要用于允许POST操作的输出将用户代理重定向到所选资源,因为这样做提供了与POST响应相对应的信息,以可分别识别,书签和缓存的形式,独立于原始请求。

对于GET请求的303响应表示源服务器没有可以通过HTTP传输的目标资源的表示。但是,“Location”字段值引用描述目标资源的资源,使得对该其他资源进行检索请求可能会产生对接收者有用的表示,而不意味着它表示原始目标资源。请注意,关于什么可以表示,什么表示是足够的以及什么可能是有用描述的问题的答案超出了HTTP的范围。

除HEAD请求的响应外,303响应的表示应包含一个短的超文本注释,其中包含指向"Location"头字段中提供的相同URI引用的超链接。

2个回答

21

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/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接