URL以 /
结尾
第一种情况:
http://www.example.com/dir/
这种可以这样理解:以
/
结尾代表/dir/
后面本来应该有的文件名被省略了。
- 为什么要省略呢?
因为这样输入更简洁快速,减少字节传输。 - 那么问题来了,没有文件名,服务器怎么知道要访问哪个文件呢?
其实真相是:服务器上会事先设置好文件名省略时要访问的默认文件名。比如通常是index.html
之类的文件名。因此这种情况,服务器会访问/dir/index.html
这样的文件。
第二种情况:
http://www.example.com/
同理,它表示访问一个名叫
/
的目录下的index.html
这样的默认文件。
URL不以 /
结尾
第一种情况:
http://www.example.com
这种可以这样理解:当没有路径名时,就代表访问根目录下事先设置的默认文件,也就是/index.html这样的文件。
第二种情况:
http://www.example.com/what
这种就比较神奇了,这种处理机制是:
- 如果服务器上存在名为
what
的文件,则将what
作为文件名来处理。 - 如果存在名为
what
的目录,则将what
作为目录名来处理。按照目录处理的话,那就是默认访问what
目录下的类似index.html
这样的文件。
仔细研究一下还是很有趣的,会慢慢找到工作中很多不起眼的规则或者现象,并了解和掌握它们背后依据的技术原理,同时举一反三,提高个人整体的技术水平。