作者:hoxis
最近群友提了一个问题,爬虫时,创造被爬网址末了不加 /,就涌现一贯没有精确相应的情形,我打开浏览器的调试模式看了下,创造不加 / 时,地址返回的是 301 MOVED PERMANENTLY,怪不得哦~
但是我也创造有些网址结尾带有斜杠,而有的网址后面没有带斜杠,这个斜杠到底是干嘛的?加不加有什么差异呢?又为什么我们在浏览器地址栏上打出一个网址,按回车后地址末端会自动加上一个反斜杠?

很诡异是吧!
好了,借这个东风,推广一下小知识。
在传统意义上说,网址末端是没有反斜杠的。有没有反斜杠的意义在于该 url 是指向一个文件还是一个目录。
举个栗子:
http://www.abc.com/abchttp://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 方面考虑,习气性的给自己网站的网址末端加上反斜杠能避免重复内容。正如域名中是否带 www 的问题,url 末端是否有反斜杠也会造成重复内容的问题,这对付网站的 seo 无疑是不利的,要知道,重复内容绝对是 seo 的大忌。由于做事器对 url 不能精确解析,有可能会涌现 404 缺点,习气地给网址末端加上反斜杠则可以避免这种情形。总的来说给网址末端加上反斜杠对对网站培植者是有很大好处的,这可以说是网站培植者该当养成的一个好习气。当然,在交流交情链接时别忘了提醒一下对方,记得为你的网站 url 末端加上反斜杠了。
链接:https://www.jianshu.com/p/a53843518469