1

我们正在我们的项目中实现一个 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 这样的框架中,是否可以安全地假设用户应该始终以正斜杠开头他或她的处理程序?

4

1 回答 1

-1

跟进问题:

据我所知:

http://www.foo.com/path

http://www.foo.com/path/

是两个不同的 URL

一条 Sinatra 路线:

/小路

不会映射到对带有尾随 / 的 URL 的请求

然而,在 Nancy 中,是否存在尾部正斜杠并不重要。


问题:

如果您为

小路

它将以相同的方式从基本 URL 映射

/小路

会映射。

基本上两者是相同的。

然而,我个人的偏好是始终使用前导正斜杠,因为这就像说“根 URL 后跟我定义的路由”。

于 2012-11-01T06:42:42.537 回答