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

JSON 2019-05-05 23:37:14 17055

为什么一个重定向和  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 的详细讲解
TCP UDP协议详细讲解,优缺点分析讲解
MySQL备份方案Xtrabackup详细解答
MySQL备份方案Xtrabackup详细解答
Linux 安装 Redis 详细步骤讲解
PHP用户定义函数详细讲解
document.domain解决跨域问题,详细讲解
PHP用户定义函数详细讲解
Plupload 上传详细讲解,Plupload 多实例上传,Plupload多个上传按钮
最新文章
文件上传漏洞与防御 4058
前端构建工具选型指南:Webpack、Vite、Rollup、esbuild 深度对比 1444
物联网时代2026年时序数据库选型指南 1151
SaaS行业面临AI挑战:从“无限复用”到“灵活适应” 1269
神经网络:从构造到模型训练全链路解析 1168
一文吃透 Redis 核心存储结构:ziplist、listpack 与哈希表扩容 / 并发查询 1593
Linux sudo提权完整指南:从基础用法到生产级安全配置 691
XSS 和 CSRF 的本质区别及开发防御全解析 772
JVM垃圾回收(GC)全维度解析:从原理到调优实战 813
Linux动静态库与ELF加载全解析:从实操制作到底层原理 912
最热文章
免费天气API,天气JSON API,不限次数获取十五天的天气预报 783114
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 711464
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 679993
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 562673
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 512621
Elasticsearch教程(四) elasticsearch head 插件安装和使用 484794
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 302947
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 247433
Elasticsearch教程(一),全程直播(小白级别) 233097
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 228329
支付扫码

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

查看我的收藏

正在加载... ...