SEO 之 SpringMVC redirect 301,301和302区别详细讲解

soゝso 2019-05-05 23:37:14 223

为什么一个重定向和  SEO  扯上了,因为当我们一些内容(URL链接)改变了,我们要告诉搜索引擎,告诉它这个链接发生了URL的改变。但是搜索引擎会区别对待  HTTP  重定向状态为 301 & 302

可能我们平时没扯上  SEO  ,所以我们用的都是  302  。下面说说  302  和  301  的区别。

302和301的解释和应用场景

 HTTP Status  解释  应用场景
 301  表示当前URL地址永久性重定向到另外一个地址。  当URL规则发生改变,可以使用这个状态,告诉搜索引擎收录301之后的地址。
 302  表示当前URL地址临时重定向到另外一个地址。  比如没有权限,常用为没有登录,重定向到登录页面等等。

没错,都是重定向,但是这个重定向一个表示永久,一个表示临时。

302和301应该怎么用?

先说说302:

我们平时的企业级项目,或者应用级项目,直接302即可,就是我们平时用的redirect默认就是302的状态,302浏览器不会记录302之后的地址。

举个栗子:当用户访问了一个需要登录的A页面,您会把用户重定向到Login登录页面去,这个时候如果用了301 跳转到Login页面,下次不管用户有没有登录,访问这个A地址,浏览器会直接重定向到Login登陆页面去,都不经过后台控制跳转,这个是浏览器做了优化,认为访问A页面需要永久跳转到登陆页面去。

所以当不知道用什么情况下,那就用302吧,这也是Redirect为什么默认是302的用意。

再说说301:

301真的是只有在  SEO  比较讲究的时候用的比较多,或者你系统改版,确实原来A地址改成了B地址,这个时候就用301,对系统也减少没必要的重复请求,对用户来讲也是一个用户体验的提升。

SpringMVC 302 和 301 代码示范

302 SpringMVC提供了二种封装的方法:

302方案一:

@GetMapping("redirectMethod1")
public String redirectMethod1(){
    //直接重定向到一个绝对地址,这里也支持相对路径
    return "redirect:https://www.sojson.com/";
}

302方案二:

@GetMapping("redirectMethod2")
public ModelAndView redirectMethod2(){
    //这里使用了封装的View
    return new ModelAndView(new RedirectView( "https://www.sojson.com/"));
}

其实还有一种原生的方案,下面301后会说到。

301 SpringMVC应该是没有提供方案,下面直接用原生的

@RequestMapping(value="status",method=RequestMethod.GET)
public void status(HttpServletResponse response){
	//设置 301	
	response.setStatus(301);
	response.setHeader("Location",String.format("%s/http/status.html", Constant.DOMAIN_WWW));
}

当然也可以设置302或者其他的状态。


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/323.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

相关文章
Java 获取HTPP 301 / 302 重定向后的Url地址,301302SEO的影响
Maven的MirrorRepository 的详细讲解
Bootstrap Affix 插件 高级用法详细讲解
document.domain解决跨域问题,详细讲解
Plupload 上传详细讲解,Plupload 多实例上传,Plupload多个上传按钮
HttpClient 获取详细的头信息
BlockingQueue 方法详细描述
Ehcache配置详细解释
解JavaScript中splice()方法,有Demo详细介绍
Shiro教程,Shiro 配置文件详细解释,Shiro自定义Filter配置
最新文章
记一次小失误导致的大事件,Mysql SQL Error: 0, SQLState: null 排查过程 19
Springboot Maven 增加本地依赖包,Springboot Maven打包本地包 74
Java 获取图片属性、获取图片EXIF属性操作方法[metadata-extractor] 38
又拍云(Upyun)CDN、云存储刷新链接缓存,API实例讲解 76
Linux Centos 使用 Redis service 启动,Redis service 脚本编写 106
恭喜SOJSON获得阿里云618“上云接力赛”第一名,获得代金券6.18万 323
Springboot 集成Freemarker 自定义标签解决方案 907
七牛云怎么样?七牛云到底有多垃圾?用七牛云需要知道的事,不然不小心就一套房没了 29320
JavaScript怎么识别360浏览器?JS识别360急速模式方案,360流氓浏览器 1229
关于本站所有JavaScript 加密、混淆、解密、美化等安全说明 2301
最热文章
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 181903
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 147291
Elasticsearch教程(四) elasticsearch head 插件安装和使用 141463
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 94200
Elasticsearch教程(六) elasticsearch Client创建 82808
Elasticsearch教程(一),全程直播(小白级别) 79653
Elasticsearch教程(二),IK分词器安装 78061
Elasticsearch教程(八) elasticsearch delete 删除数据(Java) 77398
Elasticsearch教程(五) elasticsearch Mapping的创建 71290
免费天气API,天气JSON API,不限次数获取十五天的天气预报 65621

骚码加入我们 / 千人QQ群:259217951

入群需要5元,如果没有QQ钱包,可以先Alipay、微信,赞助然后加群主拉进。

二维码生成 来自 >> 二维码生成器

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

正在加载... ...