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

ASP.NET
Asp.Net 通用数据操作类 (附通用数据基类)
asp.net汉字转拼音和获取汉字首字母的代码
asp.net 多字段模糊查询代码
OpenCms 带分页的新闻列表
URLRewriter最简单入门介绍 URLRewriter相关资源
asp.net Repeater取得CheckBox选中的某行某个值
asp.net清空Cookie的两种方法
asp.net一些很酷很实用的.Net技巧
asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
asp.net TripleDES加密、解密算法
Asp.net中防止用户多次登录的方法
asp.net Repeater取得CheckBox选中的某行某个值的c#写法
asp.net DataGridView导出到Excel的三个方法[亲测]
C#,winform,ShowDialog,子窗体向父窗体传值
asp.net学习中发现的比较完整的流程
ASP.net 页面被关闭后,服务器端是否仍然执行中?
asp.net Context.Handler 页面间传值方法
asp.net xml序列化与反序列化
asp.net实例代码protected override void Render(HtmlTextWriter writer)
asp.net(c#)捕捉搜索引擎蜘蛛和机器人

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 139 ::
收藏到网摘: 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或者类似技术的兄弟下面评论,我还没入门,急需大家指点,谢谢!