我看到所有tinyurl像网站使用302
但有什么区别?似乎两者都为我工作
301(永久移动)状态表示资源已被永久移动到新位置。 客户端(浏览器)将来应该使用新的位置而不是旧的位置。
302(find)状态表示资源暂时位于其他地方。 客户端应该使用当前请求的给定位置,但将来应该继续使用旧的位置。
这两个状态代码都会使浏览器redirect。 根据redirect是永久还是临时,您应该select使用301或302状态。
有关这些HTTP响应代码的更多信息可以在RFC 2616中find。
当一个search引擎蜘蛛在网页的响应头中find301状态码时,就会明白这个网页已经不存在了,它会在search到的位置标题中select新的URL,并用新的URLreplace索引的URL,并且传输pagerank 。
因此,search引擎会刷新所有不存在的索引URL(301find)与新的URL,这将保留您的旧网页stream量,pagerank并转移到新的(你不会失去你旧网页的stream量)。
浏览器:如果浏览器find301状态码,则它caching旧URL与新URL的映射,客户端/浏览器将不会尝试请求原始位置,而是从现在起使用新的位置,直到caching删除。
当search引擎蜘蛛为网页创build302状态时,它只会暂时redirect到新的位置并且抓取这两个页面,旧的网页URL仍然存在于search引擎数据库中,并且总是试图请求旧的位置并抓取它,客户端/浏览器仍将尝试请求原始位置。
阅读更多关于如何在asp.net c#中实现它,以及如何在search引擎中的影响 – http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- ASPNET-CSHARP-Implementation.html
他们在search引擎优化不同。
对于302谷歌将保存redirect器的url,并将用户指向它。
另外(tinyurl)使用302可以改变redirect,例如在垃圾邮件的情况下(参见http://tinyurl.com/nospam.php?id=amgzs6例子)。 使用301使得更改redirect变得更困难