301(永久移动)请求的网页已永久移动到新位置。服务器返回此响应时,会自动将请求者转到新位置。您应使用此代码告诉搜索引擎Spider某个网页或网站已永久移动到新位置。建议在URL规范化的时候采用301跳转,例如google.com跳转到www.google.com,如下图所示。

 
302(临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。此代码与响应 301 类似,会自动将请求者转到不同的位置,但您不跨域跳转的时候,不应使用此代码来告诉 Googlebot 某个网页或网站已经移动,因为 Googlebot 会继续抓取原有位置并编制索引。
 
更多知识:
 
301 重定向
三种主流搜索引擎(Google, Bing, Yahoo)对待301都是一样的。它们忽略原始链接然后把重定向后的新链接加入索引。例如:如果用301把 http://www.neegou.com 重定向到 http://www.google.com,那么搜索引擎就认为www.neegou.com已经不存在了,以后就只收录www.google.com。
当网站需要重构URL的时候,301重定向非常实用。例如:以前的网址类似于:http://www.neegou.com/index.php?page=xxx&article=xxx&id=xxx&section=xxx
现在为了美化URL,都改成了:
http://www.neegou.com/article-xxx.html
这样,就会出现两个,甚至多个URL指向同一内容页面。Google认为这样是不好的,一个URL就应该对应一个独立的内容页面,然后开始降低对该网站的信任等级(Trust Rank),导致该网站在Google里的排名靠后。
如果将老的链接都用301重定向到新的链接的话,就是告诉Google老的链接已经没用了,你可以把它们从索引里删除了,收录现在这些新的链接吧。嗯,这个正是我们需要的。
 
302 重定向
302 重定向分两种:on-domain和off-domain.
on-domain: 是指302重定向的源URL和目标URL在同一个Domain上。例如:
302 http://www.neegou.com/china.html 到 http://www.neegou.com/usa.html
Google在收录china.html时,发现china.html跳转到usa.html了,但是由于是状态码302,只一个临时的跳转,所以用Google搜索”usa”的时候,还是显示http://www.neegou.com/china.html这个URL。
off-domain: 与on-domain相反,off-domain指302重定向的源URL和目标URL不在同一个domain上。例如:
302 http://www.neegou.com/mail.html 到 http://www.google.com/mail
由于302重定向很容易被网址劫持(URL hijacking), 所以在这种情况下,大多数时候,Google会把302当作301来对待。 用Google搜索mail,则会直接显示http://www.google.com/mail这个URL。

关于HTTP返回码301、302区别与SEO的更多相关文章

  1. forward和redirect的区别?http状态码301,302分别代表什么?

    一.forward和redirect的区别 从地址栏显示来说:forward是服务器内部重定向,客户端浏览器的网址不会发生变化:redirect发生一个状态码,告诉服务器去重新请求那个网址,显示的的新 ...

  2. 详解重定向(HTTP状态码301/302/303/307/408)附例子

    本文为原创文章,转载请注明出处. 今天打算好好把状态码301.302.303.307.308好好撸一遍,并会测试下一些例子. 状态码的解释 我们都知道重定向与这几种状态码有关,来看下这几种HTTP状态 ...

  3. http返回码301、302、307、305含义和区别

    301永久重定向,302暂时移动,seo对301和302的处理不一样: 301和302会出现数据丢失问题,重定向后请求数据丢失: 307临时重定向,数据不会丢失:

  4. HTTP 状态码 301 302

    301 Moved Permanently被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为 ...

  5. 踩坑--http返回码之302状态码

    项目介绍:springboot+shiro+maven 业务需求:拦截一切不登录的盗链URL,除了问卷调查,可以给任意用户填写和提交意外. 问题重现:表单提交过程中返回302状态码,我就觉得很奇怪.在 ...

  6. HTTP返回码中301与302的区别(转)

    add by zhj:  区别 1.使用效果不同 302跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧的网址.因为服务器返回302代码,搜索引擎认为新的网址只是暂时的. 301重定向是永久的重定向, ...

  7. HTTP 返回码中 301 与 302 的区别

    转自:http://blog.csdn.net/qmhball/article/details/7838989 一.官方说法301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之 ...

  8. http响应状态码301和302

    HTTP返回码中301与302的区别 (2012-10-15 22:06:09) 一.官方说法 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redir ...

  9. http状态码 301、302区别

    http状态码301和302详解及区别——辛酸的探索之路 [HTTP]状态码301与302 HTTP返回码中301与302的区别 http状态码301和302详解及区别

随机推荐

  1. Java write And read Demo

    以下代码主要实现java中的读文件 和写入文件,练习一下流操作. 要点: 1.读取文件时,一定要加编码格式,否则中文乱码 import java.io.BufferedReader;import ja ...

  2. tomcat错误信息解决方案 严重:StandardServer.await:

    看到这个报错我的第一反应就是端口被占用,用netstat -ant命令查看发现8080端口没有被占用,也可以看到 tomcat的进程已经存在,但是不能对外提供服务. 1.独立运行的tomcat.exe ...

  3. 数据库之mysql 视图

    视图,把基本表的某些数据组合起来构成一个虚拟表的一种形式,之所以叫虚拟,是因为只有当视图用于一条语句中的时候,它才能存在.同时如果对视图中的数据进行修改,会同时修改到基本表中的数据. 创建视图: cr ...

  4. position:absolute,绝对定位和相对定位,JQ隐藏和显示

    需要在指定位置,用绝对定位. 如果直接写position:absolute,top:0;left:0,那就是以浏览器的左上角为参照了 现在需要在某一个指定位置用绝对定位 解决方法 在需要用绝对定位(p ...

  5. 转.....IOC 和DI

    引述:IoC(控制反转:Inverse of Control)是Spring容器的内核,AOP.声明式事务等功能在此基础上开花结果.但是IoC这个重要的概念却比较晦涩隐讳,不容易让人望文生义,这不能不 ...

  6. django引用static目录下的css,js文件304问题

    前提:django1.8 在html页面可以请求道css,js文件并在chrome的开发者工具中查看css,js文件返回状态为200 原因: html页面在头部添加了<!DOCTYPE html ...

  7. PHP学习心得(二)——实用脚本

    <?php 来表示 PHP 标识符的起始,然后放入 PHP 语句并通过加上一个终止标识符 ?> 来退出 PHP 模式 调用函数phpinfo(),将会看到很多自己系统的信息,以及预定义变量 ...

  8. 2015版App推广全攻略(完整版)

    线上渠道 1.基础上线 各大手机厂商市场.第三方应用商店.大平台.PC下载站.手机WAP站.收录站.移动互联网应用推荐媒体等等基本可以覆盖Android版本发布渠 道:推广的第一步是要上线,这是最基础 ...

  9. RHEL 6.4 64bit kettle5.01导入xlsx格式的excel时报错

    环境:RHEL 6.4 64bit : kettle5.01:xlsx格式的excel 创建的job,在spoon里面运行都没有问题(Linux和windows) 在windows的命令行运行也没有问 ...

  10. Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

      [root@localhost ~]# cd /usr/local/mysql   [root@localhost mysql]# chown -R mysql.mysql . [root@loc ...