http 响应码 301 和 302 代表的是什么?有什么区别?
http 响应码 301 和 302 代表的是什么?有什么区别?
从官方文档的译文中 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status 查到 301 和 302 状态码及含义。
- 301 Moved Permanently
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。
- 302 Found
请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
当网站迁移或url地址进行调整时,服务端需要重定向返回,保证原请求自动跳转新的地址。
http 协议的 301 和 302 状态码都代表重定向。浏览器请求某url收到这两个状态码时,都会显示和跳转到 Response Headers 中的Location。即在浏览器地址输入 url A,却自动跳转到url B。
java servlet 返回 301 和 302 跳转到百度首页如下
package constxiong;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class HelloServlet*/
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {private static final long serialVersionUID = 1L;/*** Default constructor. */public HelloServlet() {}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// response.setStatus(301);//设置返回状态码301response.setStatus(302);//设置返回状态码302response.sendRedirect("http://www.baidu.com");}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}}
请求url:http://localhost:8081/web/hello
区别:
- 301 表示被请求 url 永久转移到新的 url;302 表示被请求 url 临时转移到新的 url。
- 301 搜索引擎会索引新 url 和新 url 页面的内容;302 搜索引擎可能会索引旧 url 和 新 url 的页面内容。
302 的返回码可能被别人利用,劫持你的网址。因为搜索引擎索引他的网址,他返回 302 跳转到你的页面。
【Java面试题与答案】整理推荐
- 基础与语法
- 集合
- 网络编程
- 并发编程
- Web
- 安全
- 设计模式
- 框架
- 算法与数据结构
- 异常
- 文件解析与生成
- Linux
- MySQL
- Oracle
- Redis
- Dubbo
http 响应码 301 和 302 代表的是什么?有什么区别?相关推荐
- Java面试题之:http 响应码 301 和 302 代表的是什么?有什么区别?
http 响应码 301 和 302 代表的是什么?有什么区别? 一.http 响应码 301 和 302 代表的是什么?有什么区别? 一.http 响应码 301 和 302 代表的是什么?有什么区 ...
- java 302 301,http响应码301和302代表的是什么?有什么区别?
301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地址 ...
- http 响应码 301 和 302 区别
1.301:永久重定向 2.302:暂时重定向 3.两者区别 301 对搜索引擎优化(SEO)更有利. 302 会有被提示为网络拦截的风险.
- http状态码301、302、303、307、308区别
3xx开头的状态码都表示重定向. 先说明一些版本问题, 301和302都是http1.0就定义好的,在http1.1中才新增了 其余的状态码. 301 Moved Permanently 永久重定向 ...
- http返回码301、302、307、305含义和区别
301永久重定向,302暂时移动,seo对301和302的处理不一样: 301和302会出现数据丢失问题,重定向后请求数据丢失: 307临时重定向,数据不会丢失: 转载于:https://www.cn ...
- HTTP 状态码 301 和 302 详解及区别——辛酸的探索之路
转自:http://blog.csdn.net/grandpang/article/details/47448395 一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了 ...
- http状态码301和302详解及区别——辛酸的探索之路
一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了解后,算是有了一定的理解.这里记录下,希望能有新的认识.大家也共勉. 官方的比较简洁的说明: 301 redirect ...
- http状态码301和302详解及区别
一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了解后,算是有了一定的理解.这里记录下,希望能有新的认识.大家也共勉. 官方的比较简洁的说明: 301 redire ...
- Web响应重定向301与302
Web响应重定向301与302: 301与302的作用: 301与302都是请求的重定向.状态行设置在响应行中,重定向地址设置在响应头部.请求方获取到响应报文后完成请求的重定向. 301与302的区别 ...
最新文章
- 凌轩:中国电信在校园市场的困与囧
- Java多线程系列--“基础篇”10之 线程优先级和守护线程
- 基于ASP.Net Core开发的一套通用后台框架
- jmeter更改java内存,jmeter内存溢出解决方法
- Linux C编程之流操作fopen函数的mode
- 实例分割小工具labelme转coco
- Android系统证书 platform.x509.pem platform.pk8转换为.keystore文件
- SQL Server 安全篇——安全元数据(2)——安全对象(Securable)元数据
- 渗透测试流程(一)(千峰学习笔记)
- 弄清楚DL,D-H,CDH problem,CDH assumption,DDH,BDDH,BCDH
- pyinstaller编译报错 IsADirectoryError: [Errno 21] Is a directory
- 毕业实用统计模型(一)——时间序列
- 麻省理工学院公开课:MBA金融学、字幕、去时间轴版
- SpringBoot项目启动时如何自动弹出启动页,如何修改默认启动路径
- 滴滴2020校招算法笔试 2019.08.27
- 谷歌李开复:我的传奇人生源于十句箴言
- 乐变热更新SDK的集成
- Grafana 的安装和配置
- 分享57个Python源码,总有一款适合您
- ALA创世发行!蝰蛇实验室开启全球数据战略布局