我正在用c ++创建一个HTTP服务器,我注意到apache的工作方式是如果你在最后请求一个目录而不添加正斜杠,firefox仍然知道它是你要求的目录(这似乎是不可能的)为firefox做,这就是为什么我假设apache正在进行重定向)。
这个假设是对的吗? apache是否检查您是否正在请求目录,然后使用正斜杠执行http重定向到请求?如果这就是apache的工作方式,我该如何在c ++中实现呢?感谢任何回复的人。
答案 0 :(得分:3)
确定资源是否代表目录,如果是,则回复:
HTTP/1.X 301 Moved Permanently
Location: URI-including-trailing-slash
使用301允许用户代理缓存重定向。
答案 1 :(得分:1)
如果你想这样做,你会:
我完全不确定你是否需要这样做。安装Firefox的“web开发人员”插件,以查看到底来回的内容。
答案 2 :(得分:1)
说真的,这应该不是问题。关于如何进行的建议:
一旦你完成了这些事情,就应该明白如何做到这一点。如果你不能做这些事情,你不应该尝试用C ++开发Web服务器。
答案 3 :(得分:1)
假设是正确的,并确保您的回复包含允许目录列表的URL的位置标头和合法的301/302第一行。这不是一个C ++问题,它更像是一个HTTP协议问题,因为你试图编写一个HTTP服务器,正如其他帖子建议的那样,阅读RFC。
答案 4 :(得分:0)