如何在SimpleHTTPServer.py中重定向浏览器?
我正在用Scheme语言实现一个叫做SimpleHTTPServer.py的功能,进展还不错。这个过程中,我对HTTP请求和响应的机制感到很有趣。在查看这个文件时,我发现代码中有一句话:“# 重定向浏览器 - 基本上是在做apache做的事情”。
那么,在这种情况下,为什么需要重定向呢?
2 个回答
3
为了简化处理,当用户访问一个目录时,可以把末尾的斜杠(/)当成不重要的东西。也就是说,像 http://www.foo.com/bar
和 http://www.foo.com/bar/
这两个网址其实是一样的,效果是一样的。最简单的方法(虽然不是最快的,具体可以参考Souders的书)就是让第一个网址自动跳转到第二个网址。
3
想象一下,你在提供一个网页
http://mydomain.com/bla
这个网页里面包含了
<a href="more.html">Read more...</a>
当用户点击时,用户的浏览器会去获取 http://mydomain.com/more.html
。如果你提供的是
http://mydomain.com/bla/
(内容是一样的),那么浏览器会去获取 http://mydomain.com/bla/more.html
。为了避免这种混淆,如果网址指向一个目录,重定向会在后面加一个斜杠。