例如以下的两种URL书写方式:
1.www.baidu.com
2.www.baidu.com
这两种书写方式的区别到底在哪里呢?哪一个的速度更快呢?可能对于我们大多数人来说会觉得两个速度一样,因为基本是我们访问百度都是输入第一种URL的方式,谁会吃饱了撑着还手动输入个斜杠???至少我不会,因为感觉都是访问百度,没啥区别,其实这里面还是有区别的,今天在csdn论坛上面看到有很多的童鞋讨论这个问题,问这两个URL有什么区别??哪个访问更快?看到很多厉害的同学说后者快,我总结了以下几个比较普遍的理由:
1.没有斜杠多了一步文件夹重定向
2.当Web服务器接收到的是末尾带斜杠的请求时就会直接当做目录处理
如果末尾不带斜杠的请求时就需要判断是否是目录,是目录就需要在后面拼接斜杠,中间有个判断拼斜杠的过程,虽然时间很短,基本可以忽略不计
这是在微软IEBlog里看到的一篇文章:http://blogs.msdn.com/ie/archive/2005/04/11/407189.aspx,你们可以看一下,里面有这么一段话:
When generating hyperlinks, always include a trailing slash if possible. For instance, navigating to http://msdn.microsoft.com/ie takes one more roundtrip than http://msdn.microsoft.com/ie/. When the browser navigates to the /ie url, the server merely sends down a 301 to the /ie/ url. Both links work, but the second version is faster.
意思:当生成超链接,总是包括如果可能的话结尾斜杠。例如,导航到http://msdn.microsoft.com/ie时间超过http://msdn.microsoft.com/ie/多一个往返。当浏览器导航到/ URL,即,服务器仅仅降下301到/ IE / URL。两个链路工作,但第二个版本更快。
正如前面所说的后面不带斜杠的URL,它会比带斜杠的多一个往返的步骤,也就是判断是否是目录的一个额外的操作,如果带斜杠,那么web服务器就不需要做判断,直接就可以使用了
如果大当家觉得每次访问网站的时候都需要手动输入斜杠很麻烦,也可以将链接全部做成301永久转换成带""斜杠的URL了