中麦网
 

太原千锋Ja培训Forward和Redirect的区别

   日期:2019-10-12 11:46     浏览:24    评论:0    
核心提示:用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect),那么这两种转发方式有何区别呢?本文将由千锋Ja培训老师跟大家分享一下。一、从定义上看:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器。浏览器根本不知道服务器发送的内容从哪里来的,所
用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect),那么这两种转发方式有何区别呢?本文将由千锋Ja培训老师跟大家分享一下。

一、从定义上看:

forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器。浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址。

 redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址。所以地址栏显示的是新的URL。所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。

二、从原理上看:

    Forward(直接转发方式)用的更多一些,一般说的请求转发指的就是直接转发方式。Web应用程序大多会有一个控制器。由控制器来控制请求应该转发给那个信息资源。然后由这些信息资源处理请求,处理完以后还可能转发给另外的信息资源来返回给用户,这个过程就是经典的MVC模式。

Redirect(间接转发方式),有时也叫重定向,它一般用于避免用户的非正常访问。例如:用户在没有登录的情况下访问后台资源,Servlet可以将该HTTP请求重定向到登录页面,让用户登录以后再访问。

、从工作流程上看:

forword过程:客户浏览器发送http请求>web服务器接受此请求>调用内部的一个方法在容器内部完成请求处理和转发动作>将目标资源发送给客户。

 redirect过程:客户浏览器发送http请求>web服务器接受后发送302状态码响应及对应新的location给客户浏览器>客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址>服务器根据此请求寻找资源并发送给客户。

四、从运用的地方上看

forword 一般用于用户登录的时候,根据角色转发到相应的模块;

 redirect一般用于用户注销登录时返回主页面或者跳转到其他网站。

五、从效率上看:

forword效率高,而redirect效率低。

以上就是千锋Ja培训机构讲师对Forward和Redirect的区别的总结介绍,欢迎大家一起交流补充!

学习ja开发,可以参考千锋提供的ja学习路线,该学习路线罗列了各阶段完整的ja学习知识,根据千锋提供的ja学习路线图,可以让你对学好ja开发需要掌握的知识有个清晰的了解,并能快速入门ja开发。

 

免责声明:以上信息由北京千锋互联科技荣鼎娱乐官网 广东分公司整理发布,内容的真实性、准确性和合法性由该企业负责

公司名称:北京千锋互联科技荣鼎娱乐官网 广东分公司
联系人:李老师
联系电话:15321212624  4008119990
公司地址:北京市海淀区宝盛北里西区28号天丰利商城4层
 
 
更多>相关资讯

 
159彩票 上海11选5 北京幸运28 159彩票app 极速快乐8 极速快乐8 极速快乐8 荣鼎娱乐 极速飞艇 三分PK拾平台