http访问服务器文件夹,HTTP访问网站文件夹的细节

2023-05-16

一般为了网站安全,我们是不允许通过HTTP协议访问网站的某个特定的文件夹,这个内容可以参考:禁止Apache显示网站目录结构列表

Apache服务器在收到一个URL请求的时候,会查看这个URL是对应的文件还是文件夹(即一个目录)。如果是一个文件,就直接返回这个文件。如果是一个文件夹,这时的细节是本文的重点。

云上小悟有个文件夹,路劲为:https://www.maixj.net/test/

如果我们使用浏览器访问的URL是 https://www.maixj.net/test,即最后的那个forward slash没有写出来,这时Apache服务器收到了这个请求,一看是访问的文件夹,而且没有后面的这个/,Apache服务器会发回一个301重定向,重定向到 https://www.maixj.net/test/,即把最后的那个/补上。

所以,在访问文件夹的时候,URL末尾要带上/。

我觉得,其它Web Server在处理这个细节的时候,应该都是一致的。

下面是使用著名的Python requests模块做的测试:

>>> import requests as rq

>>> r = rq.head('https://www.maixj.net/test')

>>> r.status_code

301

>>> r.headers['Location']

'https://www.maixj.net/test/'

>>>

这个HTTP访问网站文件夹的细节的价值,可能在于有助于编写爬虫软件系统。(另一个影响爬虫系统程序的知识点:URL区分大小写)

但是这条规则貌似不适合网站首页:

>>> r = rq.head('https://www.maixj.net')

>>> r.status_code

200

>>> r = rq.head('https://www.maixj.net/')

>>> r.status_code

200

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

http访问服务器文件夹,HTTP访问网站文件夹的细节 的相关文章

随机推荐