从HTTP状态 301,302,200 来看页面跳转

作者:蝈蝈俊 来源:蝈蝈俊.net 时间:2007-09-26 13:46:00 

301和302 Http状态有啥区别?

301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:

301 redirect: 301 代表永久性转移(Permanently Moved),

302 redirect: 302 代表暂时性转移(Temporarily Moved ),

当然 Http 状态 200 标示没有任何问题发生。

这两种转移在使用的时候有啥好处或者问题?

301 重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

302 重定向是临时性转移。

在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。

研究搜索引擎优化(SEO)的人,应该都知道,301,302 使用不当,或者灵活使用会有不错的效果的。如果是运维人员,配置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");


状态码 301  临时性跳转

方法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","..."); 


这里的 ... 表示你要跳转去的页面。

标签:301,302,200,跳转
0
投稿

猜你喜欢

  • mysql提示Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64的解决

    2024-01-23 11:01:32
  • 如何在python中实现ECDSA你知道吗

    2023-03-14 14:07:17
  • Go方法接收者值接收者与指针接收者详解

    2024-02-17 04:30:45
  • python自定义函数实现最大值的输出方法

    2022-02-07 19:15:28
  • 如何Shrink Undo表空间,释放过度占用的空间

    2010-07-16 13:17:00
  • python实现杨氏矩阵查找

    2021-09-28 15:03:26
  • sqlserver锁表、解锁、查看销表的方法

    2024-01-12 15:57:38
  • Python爬虫之Selenium实现关闭浏览器

    2022-12-09 07:11:03
  • MySQL如何通过Navicat实现远程连接

    2024-01-13 23:07:07
  • Python字符串格式化f-string多种功能实现

    2021-01-09 22:56:45
  • python自定义线程池控制线程数量的示例

    2022-12-25 15:16:13
  • Flowable数据库表分类及数据字典解析

    2024-01-14 16:55:10
  • iframe框架用JavaScript子页面控制父页面

    2009-01-19 13:43:00
  • 这些CSS Selector,你都熟悉吗?

    2008-12-21 16:30:00
  • Mac安装软件时提示已损坏的完美解决方法

    2022-12-07 03:11:21
  • pytorch模型部署 pth转onnx的方法

    2022-07-05 03:49:04
  • 使用python对视频文件分辨率进行分组的实例代码

    2022-06-06 21:16:44
  • 比较详细的MySQL字段类型说明

    2024-01-20 16:13:02
  • Python文本终端GUI框架示例详细讲解

    2021-05-19 22:47:12
  • python中的Pyperclip模块功能详解

    2021-10-25 05:28:22
  • asp之家 网络编程 m.aspxhome.com