网站后台怎么转发网页内容(武汉Java培训:一下请求转发方式有何区别(图))

优采云 发布时间: 2022-01-21 03:20

  网站后台怎么转发网页内容(武汉Java培训:一下请求转发方式有何区别(图))

  用户向服务器发送HTTP请求,该请求可能经过多个信息资源处理后返回给用户。每个信息资源都使用请求转发机制相互转发请求,但用户感觉不到请求被转发。根据转发方式的不同,可以分为直接请求转发(Forward)和间接请求转发(Redirect),那么这两种转发方式有什么区别呢?本文将由千峰武汉Java培训老师与大家分享。

  

  一、根据定义:

  转发意味着服务器请求资源。服务器直接访问目标地址的 URL,读取该 URL 的响应内容,然后将内容发送给浏览器。浏览器不知道服务器发送的内容是从哪里来的,所以它的地址栏还是原来的地址。

  重定向是指服务器根据逻辑发送一个状态码,告诉浏览器重新请求该地址。所以地址栏会显示新的 URL。所以重定向等于客户端向服务器发送两个请求,同时接受两个响应。

  二、原则上:

  Forward(直接转发方式)用的比较多。一般来说,请求转发是指直接转发的方式。Web 应用程序主要有一个控制器。由控制器控制应将请求转发到哪个信息资源。然后这些信息资源对请求进行处理,处理后可以转发给其他信息资源返回给用户。这个过程就是经典的 MVC 模式。

  Redirect(间接转发方式),有时也称为重定向,一般用于避免异常用户访问。例如,如果用户在未登录的情况下访问后台资源,则 servlet 可以将 HTTP 请求重定向到登录页面,允许用户登录后访问。

  三、从工作流的角度来看:

  转发流程:客户端浏览器发送http请求--->web服务器接受请求--->调用内部方法完成容器内部的请求处理和转发动作--->将目标资源发送给客户端.

  重定向过程:客户端浏览器发送http请求--->web服务器接受后向客户端浏览器发送302状态码响应和对应的新位置--->客户端浏览器发现是302响应,并自动发送一个新的http请求,请求的url就是新的位置地址--->服务器根据这个请求找到资源并发送给客户端。

  四、从应用的角度

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

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

  五、在效率方面:

  前言是有效的,而重定向是低效的。

  以上是前锋武汉Java培训学院讲师对Forward和Redirect区别的总结和介绍。欢迎交流补充!

  学习Java开发,可以参考前锋武汉Java培训学习路线。学习路线列出了每个阶段完整的Java学习知识。根据千峰提供的Java学习路线图,可以学习到学习Java开发所需的知识,对Java开发有一个清晰的认识和快速入门。如果想了解更多Java技术,可以关注微信公众号“武汉千峰”,定期发布技术热点和就业趋势分析。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线