HTTP中的301和302有什么区别?


Answers:


12

301(永久移动)状态表示资源已永久移动到新位置。客户端(浏览器)将来应该使用新位置,而不是旧位置。

302(已找到)状态表示资源暂时位于其他位置。客户端应将给定位置用于当前请求,但将来应继续使用旧位置。

这两个状态代码都将具有使浏览器遵循重定向的效果。您应该选择使用301还是302状态,具体取决于重定向是永久重定向还是临时重定向。

可以在RFC 2616中找到有关这些HTTP响应代码的更多信息。


如果我想取消 301,该怎么办?因为不再使用它了?
vps 2010年

@vps您可以取消301重定向,但不能保证客户端会重新请求原始URL。如果你希望能够取消在未来的重定向,那么你可能会使用302的更好
菲尔·罗斯

3

当搜索引擎蜘蛛在网页的响应标头中找到301状态代码时,它了解到该网页已不存在,它在响应中搜索位置标头以选择新的URL并将索引的URL替换为新的URL,并传输pagerank 。

因此,搜索引擎会用新的URL刷新所有不再存在(找到301)的索引URL,这将保留您的旧网页访问量,对其进行网页排名并将其转移到新的URL(您不会失去旧网页的访问量)。

浏览器:如果浏览器找到了301状态代码,则将旧URL与新URL的映射进行缓存,客户端/浏览器将不会尝试请求原始位置,而是从现在开始使用新位置,直到删除缓存为止。

当搜索引擎蜘蛛发现某个网页的状态为302时,它只会临时重定向到新位置并爬网两个页面,旧网页URL仍然存在于搜索引擎数据库中,并且它总是尝试请求旧位置并对其进行爬网,客户/浏览器仍将尝试请求原始位置。

详细了解如何在asp.net c#中实施它以及对搜索引擎有何影响-http: //www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- aspnet-csharp-Implementation.html


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.