总结:前后端各种URL路径之间的划分关系
一·前言:
本人查找了网上很多相关帖子,但都没有一篇能够将前后端各种url路径请求之间的区别彻底说清楚。因此本人结合自身的开发经验,以及网上经验写下了这篇总结博客。希望能对广大初学者有所帮助,文中若有不足,敬请斧正!本人看见了也会及时更新的。
二·前后端URL请求路径主要分为两类:(相对路径,绝对路径)
第一类:“相对路径”请求:网站相对路径
1. 概述:以 “当前浏览器地址栏的路径” 为参照基础,再拼接上相对路径,然后形成一个完整的URL请求。(客户端、服务端解析相对路径时都会进行自动拼接路径)
注意:相对路径资源容易出现跳转几级页面之后,相关资源文件加载不出来的bug
根本原因:写代码时参照的是“当前浏览器地址栏中的路径”(例如:http://127.0.0.1:8080/项目上下文/)写的路径,跳转几次页面之后,
浏览器地址栏中的路径发生改变。此时,浏览器拼接的最终资源路径就会与初始访问资源地址url不一致,然后就会报找不到相关文件错误
2. 相对路径特殊符号解释:
(1)在相对路径中,单点表示当前目录,双点表示上一级目录,反斜杠 “/” 表示分隔目录;
(2)相对路径特殊符号有以下几种表示意义:
◆以“ ./ ”开头,代表当前目录和文件目录在同一个目录里,“./”也可以省略不写!
◆以“ ../ ”开头:向上走一级,代表目标文件在当前文件所在的上一级目录;
◆以“ ../../ ”开头:向上走两级,代表父级的父级目录,也就是上上级目录,再说明白点,就是上一级目录的上一级目录
◆以“/”开头,代表根目录
3. 以"/”开头的“相对路径请求”又分为两种:服务端请求,客户端请求
(1)服务端请求:该路径的请求最后会被服务端解析,就称为服务端请求。
注意:在服务端请求中,“/” 会被服务器解析为,“http://域名:端口号/项目上下文/”
(2)客户端请求:该路径的请求最后会被客户端解析,就称为客户端请求。
注意:在客户端请求中,“/” 会被客户端解析为,“http://域名:端口号/”
(案例1)资源文件相对路径:"/admin/login/index.html"
浏览器(客户端)解析时,最终路径:http://127.0.0.1:8080/admin/login/index.html
(案例2)资源文件相对路径:"/admin/cart/index.html"
服务器(服务端)解析时,最终路径:http://127.0.0.1:8080/项目上下文/admin/cart/index.html
注意:常见的客户端请求,一般都是html页面上发起的请求;服务端请求,一般都是服务器内部的请求转发、请求重定向等等。一旦拿不准某个请求是哪种类型,就可以写个案例测试一下就行了
第二类:“绝对路径”请求
1. 概述:绝对路径是指目录下的绝对位置,直接到达目标位置
注意:使用绝对路径访问资源,就不会出现相对路径资源访问异常(NotFinded),除非文件不存在
2. 绝对路径又分为“盘符绝对路径”,“网站绝对路径”
盘符绝对路径案例:D:\私人文件夹\学习笔记\04-JavaWeb(尚硅谷)学习笔记\15-Filter过滤器\笔记
网站绝对路径案例:https://editor.csdn.net/md?not_checkout=1&articleId=123529221
三·相关链接
1.解决:web程序请求转发后,页面跳转导致css文件加载不出来
https://blog.csdn.net/weixin_48033662/article/details/117394303