网址 URL 路径加斜杠“/”和不加的区别

最近群友提了一个问题,爬虫闯关第三关时,发现被爬网址最后不加 /,就出现一直没有正确响应的情况,我打开浏览器的调试模式看了下,发现不加 / 时,地址返回的是 301 MOVED PERMANENTLY,怪不得哦~

但是我也发现有些网址结尾带有斜杠,而有的网址后面没有带斜杠,这个斜杠到底是干嘛的?加不加有什么区别呢?又为什么我们在浏览器地址栏上打出一个网址,按回车后地址末尾会自动加上一个反斜杠?

很诡异是吧!好了,借这个东风,推广一下小知识。

在传统意义上说,网址末尾是没有反斜杠的。有没有反斜杠的意义在于该 url 是指向一个文件还是一个目录。

举个栗子:

http://www.abc.com/abc
http://www.abc.com/abc/
1
2
末尾带斜杠 / 的是目录/abc/,不带的是文件/abc,是两个不同的地址。一般来说,索引页面(如文章列表)作为目录,而内容页面作为文件。

对于服务器来说,如果访问目录,则会根据规则访问改目录下的默认文件(index.html、index.htm之类)。如访问/abc/服务器会寻找/abc/index.html文件,而访问/abc服务器则会寻找/abc文件。

对于用户来说,在大多数情况下这两个网址没有任何区别,他们访问的都是网站 abc 目录下的默认首页。一般用户也都知道最后一个斜杠是可有可无的,他们输入网址的时候一般都只会输入 http://www.abc.com/abc。

当 Web 服务器接收到某个末尾不含斜杠的 url 请求时,例如 http://www.abc.com/abc,这时服务器会搜索网站根目录下有没有名为 abc 的文件,如果没有就把 abc 当做目录处理,然后返回 abc 目录下的默认首页。

当 Web 服务器接收到的是末尾带斜杠的请求时就会直接当做目录处理,返回 abc 目录下的默认首页。

这样一来加上反斜杠就会加快网站加载速度。对于网站所在的服务器,网址没有加上反斜杠会给服务器增加一个查找是否有同名文件的过程,这明显会增加服务器的负担,当然这个影响并不会很大,但如果你的网站的直接流量很大,那么给 url 末尾加上反斜杠便能较大的减轻服务器的负担了。

当然给网址末尾加上反斜杠还有其他的好处:

在 seo 方面考虑,习惯性的给自己网站的网址末尾加上反斜杠能避免重复内容。正如域名中是否带 www 的问题,url 末尾是否有反斜杠也会造成重复内容的问题,这对于网站的 seo 无疑是不利的,要知道,重复内容绝对是 seo 的大忌。
因为服务器对 url 不能正确解析,有可能会出现 404 错误,习惯地给网址末尾加上反斜杠则可以避免这种情况。
总的来说给网址末尾加上反斜杠对对网站建设者是有很大好处的,这可以说是网站建设者应该养成的一个好习惯。当然,在交换友情链接时别忘了提醒一下对方,记得为你的网站 url 末尾加上反斜杠了。
————————————————
版权声明:本文为CSDN博主「hoxis」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bruce_6/article/details/82219522

文件路径前边/和不加/的区别在于路径的解析方式不同。当路径前边/时,表示绝对路径,即从站点的根目录开始找。例如,如果站点的根目录是http://localhost:8080/,那么/的路径会从这个根目录开始找。而当路径前边不加/时,表示相对路径,即从当前路径开始找。例如,如果当前路径是http://localhost:8080/demo/,那么不加/的路径会从这个当前路径开始找。\[1\]\[3\] 举个例子来说,假设有一个文件路径是/css/bootstrap.min.css。如果这个路径前边/,即变成了/css/bootstrap.min.css,那么它会从站点的根目录开始找,最终的路径是http://localhost:8080/css/bootstrap.min.css。而如果这个路径前边不加/,即仍然是/css/bootstrap.min.css,那么它会从当前路径开始找,最终的路径是http://localhost:8080/demo/css/bootstrap.min.css。\[3\] 所以,/和不加/的区别在于路径的起始点不同,一个是从站点的根目录开始找,一个是从当前路径开始找。这会影响到最终解析出来的路径。\[1\]\[3\] #### 引用[.reference_title] - *1* [springmvc中关于相对路径不加斜杠‘/’的区别](https://blog.csdn.net/qq_52740442/article/details/118271337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [网址 URL 路径斜杠“/”和不加区别](https://blog.csdn.net/qq_35129986/article/details/103457244)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [URL路径“/“和不加“/“的区别?](https://blog.csdn.net/qq_37205350/article/details/109078492)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值