剖析转发和重定向
来源:互联网 发布:ubuntu shadowsocks 编辑:程序博客网 时间:2024/05/16 02:26
做JavaWeb开发一定会遇到转发和重定向这两个名字,刚开始确实有些模糊,感觉两者非常相似,但是随着研究深入发现两者的本质相差甚远。
首先看书写语句:
转发:request.getRequestDispatcher("apage.jsp").forward(request,response);//转发到apage.jsp
或者<jsp:forwardpage="apage.jsp" />(仅在jsp页面实现)
重定向:response.sendRedirect("apage.jsp");//重定向到apage.jsp
再看原理:
转发:
转发过程:
客户浏览器发送http请求---web服务器接受此请求后调用内部的一个方法在容器内部完成请求处理和转发动作----将目标资源发送给客户。
它只能在同一个web应用中使用,可以共享request范围内的数据。
重定向:
重定向过程:
客户浏览器发送http请求---web服务器接收后响应要求客户浏览器发送一个新的http请求----客户端浏览器接受此响应后在发送一个新的http请求到服务器----服务器根据此请求寻找资源并发送给客户。
它可以重定向到任意URL,不能共享request范围内的数据。
通过上面的原理就能看出两者本质上是非常有区别的,转发是和服务器有一次交互,服务器对请求在内部进行了“传递”,而重定向是和服务器有两次交互(甚至更多),服务器首先通过对请求的处理之后要求客户端在发送一个请求,之后完成“转向”。
最后总结一下两者的不同点:
转发:
1. 不会改变浏览器的地址栏
2. 共享一个请求
3. 只能在同一个web应用中使用
重定向:
1. 浏览器中地址栏改变
2. 不共享请求
3. 可以重定向到任意的URL
- 剖析转发和重定向
- 剖析转发和重定向
- 剖析转发和重定向
- 剖析转发和重定向
- 剖析转发和重定向
- 转发和重定向
- 转发和重定向
- 转发和重定向
- 重定向和转发
- 转发和重定向
- 转发和重定向
- 重定向和转发
- 转发和重定向
- 转发和重定向
- 转发和重定向
- 重定向和转发
- 重定向 和转发
- 转发和重定向
- python字符串转成驼峰的方法
- html中滚动条属性设置
- 存储器寻址
- 使用httpclient4.3.X模拟post请求登陆网站获取cookie信息的操作
- android clean后R.java文件丢失
- 剖析转发和重定向
- poj 3411 Paid Roads dfs+状态压缩
- gridview分页
- 湖南2015电工考证 电工培训 电工证办理 电工证直接拿证
- 第十三周项目五:统计大小写字母个数
- 1025:统计硬币
- OpenCV 图像使用和操作
- 获取程序信息
- Ubuntu 12.04 64位编译android 4.1.1_r3