2016-12-28 68 views
0

我编写了自己的DNS服务器,并将地址foo.bar解析为127.0.0.1。在这个相同的文件中,我也运行一个HTTP服务器,使用Python中的BaseHTTPServer和一个自定义的请求处理程序。从浏览器获取的当前获取请求正确地解析了本地主机的地址,并按需要加载了index.html。是什么让我困惑的是,GET请求只显示:为什么GET请求不会继承URL并使用/绝对根目录

127.0.0.1 - - [27/Dec/2016 16:56:23] "GET/HTTP/1.1" 200 

它根据RFC2616-sec5:

the absolute path cannot be empty; if none is present in the original URI, it MUST be given as "/" (the server root). 

在某些时候foo.bar这意味着在被还原成/就算我请输入http://foo.barhttp://www.foo.bar

如何将完整的URL传递给GET请求?我也想知道为什么它假定链接不是绝对路径。

回答

1

该方法只给出URL的路径和查询字符串。如果您希望指定主机,那么您必须从Host标题中得到它(如果可用)。

+0

谢谢。有什么地方我可以进一步阅读这种行为? –

+0

https://tools.ietf.org/html/rfc7230 –