从HTTP协议分析转发和重定向的区别
2009-11-07 14:37
323 查看
【文章标题】从HTTP协议分析转发和重定向的区别
【文章作者】曾健生
【作者邮箱】zengjiansheng1@126.com
【作者QQ】190678908
【作者MSN】zengjiansheng1@hotmail.com
【作者博客】blog.csdn.net/newjueqi
*******************************************************************************
本文主要是通过截取HTTP包的数据,分析java Web开发中的转发和重定向的区别。
第一步,编写一个简单的Servlet,URL为http://pc-200908141013:8080/Demo/servlet/SendURL,代码如下:
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//转发
req.getRequestDispatcher("/Test.html").forward( req, resp );
//重定向
//resp.sendRedirect("/Demo/Test.html");
}
第二步:运行Tomcat,在浏览器中输入http://pc-200908141013:8080/Demo/servlet/SendURL,用HttpWatch截取HTTP的信息,得到转发的HTTP信息如下图:
图1
第三步:把servlet中转发的代码注释,把重定向的代码的注释去掉,再次访问,用HttpWatch截取HTTP的信息,截获了两次HTTP的信息,如下两张图:
图2
图3
由图1,图2,图3可知,
转发是直接是返回http://pc-200908141013:8080/Demo/Test.html的内容。
重定向是有两次响应数据的,第一次返回的是302状态码,要求浏览器访问Location头的http://pc-200908141013:8080/Demo/Test.html的链接地址,第二次返回的是http://pc-200908141013:8080/Demo/Test.html的内容。
【文章作者】曾健生
【作者邮箱】zengjiansheng1@126.com
【作者QQ】190678908
【作者MSN】zengjiansheng1@hotmail.com
【作者博客】blog.csdn.net/newjueqi
*******************************************************************************
本文主要是通过截取HTTP包的数据,分析java Web开发中的转发和重定向的区别。
第一步,编写一个简单的Servlet,URL为http://pc-200908141013:8080/Demo/servlet/SendURL,代码如下:
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//转发
req.getRequestDispatcher("/Test.html").forward( req, resp );
//重定向
//resp.sendRedirect("/Demo/Test.html");
}
第二步:运行Tomcat,在浏览器中输入http://pc-200908141013:8080/Demo/servlet/SendURL,用HttpWatch截取HTTP的信息,得到转发的HTTP信息如下图:
图1
第三步:把servlet中转发的代码注释,把重定向的代码的注释去掉,再次访问,用HttpWatch截取HTTP的信息,截获了两次HTTP的信息,如下两张图:
图2
图3
由图1,图2,图3可知,
转发是直接是返回http://pc-200908141013:8080/Demo/Test.html的内容。
重定向是有两次响应数据的,第一次返回的是302状态码,要求浏览器访问Location头的http://pc-200908141013:8080/Demo/Test.html的链接地址,第二次返回的是http://pc-200908141013:8080/Demo/Test.html的内容。
相关文章推荐
- HTTP中的重定向和请求转发的区别(转)
- 005_Http之request获取客户端信息06-请求转发及包含和重定向的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- 心得10--request介绍和案例分析、请求重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- javaEE:day2-Http头协议(doget/dopost)、转发与重定向、gzip压缩
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- http页面转发和重定向的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP重定向与服务器转发的区别
- JSP学习笔记(二)------请求重定向与请求转发的区别及HTTP Status Code(HTTP状态码)整理说明