在SimpleHTTPServer.py中重定向浏览器?

时间:2009-07-21 16:39:41

标签: python scheme racket

我部分通过在Scheme中实现SimpleHTTPServer.py的功能。我对HTTP请求/响应机制有一些乐趣。在浏览上面的文件时,我遇到了这个 - “#redirect browser - 基本上做了apache所做的”代码“。

为什么在这种情况下需要重定向?

2 个答案:

答案 0 :(得分:3)

当用户对目录执行GET时,它简化了处理尾随/无关的事情,因此(例如)http://www.foo.com/barhttp://www.foo.com/bar/具有完全相同的效果。最简单的(尽管不是最快的,参见Souders的书籍;-)是让前者导致重定向到后者。

答案 1 :(得分: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。为避免这种歧义,如果URL指向目录,重定向会附加一个斜杠。