我们正在我们的项目中实现一个 HTTP 请求处理程序子系统。HTTP RFC 说绝对路径不能为空;如果原始 URI 中不存在任何内容,则必须将其指定为“/”(服务器根目录)。
问题:
这是否意味着这两个浏览器请求保证会产生相同的http请求动词、uri和host?
浏览器请求 1:
http://www.foo.com/
浏览器请求 2:
http://www.foo.com
Http请求(未测试,但我假设是这种情况):
GET / HTTP/1.1
Host: www.foo.com
跟进问题:
如果上述假设是正确的,是否保证正斜杠始终是正确 HTTP 请求中路径的第一个字符?
最后一个问题:在像 Ruby Sinatra 这样的框架中,是否可以安全地假设用户应该始终以正斜杠开头他或她的处理程序?