当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net教程:HTTP状态码200,301,302

ASP.NET
ASP.NET开发:简化应用程序的开发支持Web标准
asp.net XMLHttpRequest实现用户注册前的验证
asp.net 页面间传值方法小结
asp.net url重写浅谈
asp.net 验证码生成和刷新及验证
C#精髓 GridView72大绝技 学习gridview的朋友必看
实例说明asp.net中的简单角色权限控制
asp.net网站开发包wq.dll打包下载
js与ASP.NET 中文乱码问题
asp.net checkbox 动态绑定id GridView删除提示
asp.net TextBox回车触发事件 图片在img显示
asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
asp.NET 脏字过滤算法
asp.NET 脏字过滤算法 修改版
asp.net sql 数据库处理函数命令
asp.net Javascript 的几种写法与提示
ASP.NET MVC学习笔记
asp.net 中国身份证号码验证代码 非正则
Asp.net中使用Sqlite数据库的方法
asp.net 中文字符串提交乱码的解决方法

ASP.NET 中的 asp.net教程:HTTP状态码200,301,302


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 88 ::
收藏到网摘: n/a

跳转非常常用,在哪里都一样,这里的一些说明和用法也如此,不止适用于asp.net,其他语言也会用得到。跳转的目的本来很简单,就是当用户或系统需要时从一个页面转向另一个页面,但自从有了各种各样的需求,还有那个什么SEO的东西之后,跳转被搞得极其复杂

跳转时的HTTP的状态码一般为200,301,302中的一个,下面先列出各状态码出现的情况,然后再解释各状态码有什么不同:

状态码200的跳转:
1. <meta http-equiv="refresh" content="3; URL=default.aspx" />
2. Server.Transfer("default.aspx");
3. URLRewrite--严格来说,这个不算是跳转,只是一种URL“欺骗”
4. <a>--不知道我把这个标签也列为一种跳转会不会有人有意见

状态302的跳转:
Response.Redirect("default.aspx");

状态301和的跳转: Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", http://www.webjx.com);

对于用户来说,各个跳转都差不很多,都可以达到目的。但对于SEO来说,这些差得很远,状态200第三条使用合适对SEO有很大好处,但状态200的第一条和状态302却基本没有一点益处,然后很可惜,302跳转被用到了满大街。

很久很久以前,那时候搜索引擎还很傻,好多人利用meta refresh来获得强大的SEO效果,后来直接被搜索引擎给干掉了。再后有很多人开始用302做跳板,后来也被干掉了,比如那两个著名的案例:Business.com和BMW。欺骗搜索引擎,后果很严重。所以现在很少有人在跳转上做SEO,但是有些不可避免的跳转还是要继续存在着,如何防止这些跳转起到负面影响呢?于是有人研究了301跳转。

忘记给一些入门的兄弟扫下盲,三种状态码解释如下:
200 正常状态,未发生任何事,普通页面浏览一般都是200
301 永久性转移(Permanently Moved),SEO必用的招式,会把旧页面的PR等信息转移到新页面
302 暂时性转移(Temporarily Moved),很常用的招式,也是SEO最容易被判作弊的方式
顺便提下那个404,好多网站在出错时都会有一个自定义的错误页面,但很可惜也有很多人忘记了这个状态码,直接搞个错误页面一般都还是200,搜索引擎会收录这个页面,但很多不同URL的404都跳转到这一个页面时,会被认为大量重复页,最惨的就是404太多了,被认为站内无效、重复内容过多,所以做自定义错误页面时一定记得返回个404回去。

郁闷,发现没啥好写了,就此打住吧,想研究SEO或者类似技术的兄弟下面评论,我还没入门,急需大家指点,谢谢!