1、从前端后端的角度来说,用户在浏览器输入url例如:http://ip:port / 应用上下文路径 / 服务路径发生了什么。

  1. ip:port :对应着服务器的IP地址与端口
  2. 应用上下文路径:在web服务器中,可能有多个web项目,每个项目都有自己的应用上下文路径,该路径是在项目部署阶段需要配置的(可以自己设置)。以tomcat为例部署过程如下:
    在这里插入图片描述
    每个应用上下文路径下拥有静态资源(HTML文件),servlet程序资源。
  3. 服务路径:每个web应用拥有多个服务路径,对应着一个web应用实现,服务路径是敏感的,比如login与login.html,他们两个对应着不同的资源。在后端代码中使用 @WebServlet() 来命名servlet程序资源(一定是/xxx)。
    在这里插入图片描述

他们之间定位的关系如下图表示:
在这里插入图片描述

2、后端中转发与重定向的区别

  • 重定向:
    是两次请求。通常Servlet中调用resp.SendRedirect();返回3xx状态码+Location响应头,表示要跳转的路径,浏览器接收到响应后自动跳转。
    在这里插入图片描述

  • 转发:

    是一次请求。后端接收直接把转发路径的资源作为响应体返回。

  • 区别
    1)url路径是否改变,重定向会改变,转发不会改变。
    2)网络请求的次数不一样,重定向是两次,转发是一次。
    3)重定向可以是任何网址,转发必须是本站点的地址。
    在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐