我部分通过在Scheme中实现SimpleHTTPServer.py的功能。我对HTTP请求/响应机制有一些乐趣。在浏览上面的文件时,我遇到了这个 - “#redirect browser - 基本上做了apache所做的”代码“。
为什么在这种情况下需要重定向?
答案 0 :(得分:3)
当用户对目录执行GET时,它简化了处理尾随/无关的事情,因此(例如)http://www.foo.com/bar
和http://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指向目录,重定向会附加一个斜杠。