301和302 Http状态有啥区别?
301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently Moved), 302redirect: 302 代表暂时性转移(Temporarily Moved ), 当然 Http 状态 200 标示没有任何问题发生。  
这两种转移在使用的时候有啥好处或者问题?
301 重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。 302 重定向是临时性转移。 
在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。 
研究搜索引擎优化(SEO)的人,应该都知道,301,302 使用不当,或者灵活使用会有不错的效果的,比如参看下面文章:
302转向与网址劫持
301转向和网址规范化 301重定向的实现方法
51window提供的301转向的代码
一个网站十几个域名的重定向经验谈
几个常用的301重定向

如果是运维人员,配置WEB服务器的一些设置就可以实现跳转,比如下面一些关于IIS实现重定向的文章
将请求重定向到文件、目录或程序 (IIS 6.0)
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/iis/fbcccfce-6695-4f92-bd55-869d85ff49fb.mspx?mfr=true
重定向参考 (IIS 6.0)
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/iis/41c238b2-1188-488f-bf2d-464383b1bb08.mspx?mfr=true
其他WEB服务器也可以通过设置实现跳转,我就不罗列了。

从技术人员来说我们比较常用的跳转方法有以下几种:
我们使用 Fiddler 工具来监控的下面提到的几种方法,看跳转过程中HTTP状态码是301?302?200?:

方法1:Response.Redirect("Test.aspx");
状态码 302  临时性跳转

方法2:<meta http-equiv="refresh" content="5; URL=Test.aspx" />
meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。这种跳转方式,整个跳转过程中,页面Http状态都是200,即,页面没有任何错误发生。

方法3:Server.Transfer("Test.aspx");
这种跳转方式,整个跳转过程中,页面Http状态都是200,即,页面没有任何错误发生。

方法4:URLRewrite
这种跳转方式,整个跳转过程中,页面Http状态都是200,即,页面没有任何错误发生。

没有一种是301跳转。也就是上面几种跳转方式都用不到301跳转的好处。

使用301跳转有啥好处呢?
SEO(搜索引擎优化)中提到一点:如果我们把一个地址采用301跳转方式跳转的话,搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。

如何编码实现301跳转呢?
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","..."); 这里的 ... 表示你要跳转去的页面。

原文地址

最新文章

  1. Android开发之自定义组件和接口回调
  2. 简约的ASP.NET 系统框架,提供源码。
  3. python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列
  4. 【bzoj2115】 Xor
  5. js获取文本框输入的值
  6. FZU 2027 单词问题 map标记字符串典型问题
  7. 通用安全字符串输入,彻底替换server.htmlencode
  8. HTML5之本地文件系统API - File System API
  9. 最严格的身份证校验(JavaScript版)
  10. impdp/expdp 总结
  11. URAL 1036(dp+高精度)
  12. 算法如功夫——C++ 用递归函数计算n的阶乘n!
  13. fsck害了我很久了,必须关掉,因为他每次打卡都要推迟数十分钟。
  14. Qt使用MySQL笔记一
  15. 原生JS的HTTP请求
  16. 使用MyBatis缓存
  17. linux jdk 和tomcat环境变量配置
  18. 不定参数对arguments对象的影响
  19. 【Codeforces 1132C】Painting the Fence
  20. C#.NET常见问题(FAQ)-override覆盖和virtual虚类如何理解

热门文章

  1. 自定义tableViewCell
  2. 理解css中的position-static\relative\fixed\absolute
  3. ACM题目————zoj问题
  4. HDU 1014:Uniform Generator
  5. Finding Nemo 分类: POJ 2015-07-11 10:11 10人阅读 评论(0) 收藏
  6. response.setContentType()的参数说明
  7. acdream 1093 女神的正多面体
  8. jQueryEasyUI Messager基本使用
  9. web打印
  10. Intent官方教程(5)在manifest中给组件添加&lt;Intent-filter&gt;