一般为了网站安全,我们是不允许通过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(使用前将#替换为@)