想必有些朋友好气有些网址结尾带有斜杠,而有的网址后面没有带斜杠,这个斜杠到底是干嘛的?加不加有什么区别呢?又为什么我们在浏览器地址栏上打出一个网址,按回车后地址末尾会自动加上一个反斜杠?
在传统意义上说,网址末尾是没有反斜杠的。有没有反斜杠的意义在于该 url 是指向一个文件还是一个目录。
http://www.abc.com/abc
http://www.abc.com/abc/
末尾带斜杠 /
的是目录/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 方面考虑,习惯性的给自己网站的网址末尾加上反斜杠能避免重复内容。url 末尾是否有反斜杠也会造成重复内容的问题,这对于网站的 seo 无疑是不利的。
因为服务器对 url 不能正确解析,有可能会出现 404 错误,习惯地给网址末尾加上反斜杠则可以避免这种情况。
总的来说给网址末尾加上反斜杠对对网站建设者是有很大好处的,这可以说是网站建设者应该养成的一个好习惯。当然,在交换友情链接时别忘了提醒一下对方,记得为你的网站 url 末尾加上反斜杠了。