为什么GET请求不会继承URL并使用/ absolute root而不是

时间:2016-12-28 01:44:56

标签: python python-2.7 http get

我编写了自己的DNS服务器,我将地址foo.bar解析为127.0.0.1。在同一个文件中,我还使用python中的BaseHTTPServer和自定义请求处理程序运行HTTP服务器。从浏览器发出的当前get请求正确地将地址解析为本地主机并按原样加载index.html。令我困惑的是,GET请求只显示:

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 个答案:

答案 0 :(得分:1)

该方法仅提供URL的路径和查询字符串。如果您希望指定主机,则必须从Host标头获取主机(如果可用)。