在 HTTP 中,最初请求的域名是否有任何相似之处,后 DNS 解析?

sme*_*eeb 4 domain-name-system http proxy

DNS 解析和 Web 浏览器如何工作的理解如下:

  1. 您的浏览器使用最终将其连接到您的注册商名称服务器的 DNS 系统
  2. 然后,您的注册商的名称服务器最终将映射的 IP 地址发送回您的浏览器
  3. 然后,您的浏览器与注册商的名称服务器返回的 IP 地址建立直接 HTTP 连接

如果我到目前为止所说的任何内容不准确或具有误导性,或者遗漏了任何主要组件,首先纠正我!

假设我对 DNS 解析和 IP 地址查找的理解或多或少处于正轨,那么我有以下问题:

浏览器将域名解析为 IP 地址(通过 DNS)后,会与该 IP 地址建立直接 HTTP 连接。 这样做时,有没有参考任何最初请求的URL?

换句话说, sayblah.example.com被解析为一个 IPv4 地址1.2.3.4。对 的请求http://blah.example.com/fizz将被转换为对 的请求http://1.2.3.4:80/fizz。我的问题是:在第二个请求(直接引用 IP 地址)中,是否有任何标头/元数据引用blah.example.com

我查看了Wikipedia 的标准 HTTP 请求标头列表,令我沮丧的是,找不到任何突出的标头。我想我有点希望像这样的标题Requested-URL,等等。

必须有某种方式将第二个 HTTP 请求绑定到最初请求的名称,否则我认为代理或负载平衡器永远无法工作。

Mik*_*eyB 14

它位于 Host 标头中:

curl -v http://www.google.ca/ >/dev/null
* Hostname was NOT found in DNS cache
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 2607:f8b0:400c:c03::5e...
* Connected to www.google.ca (2607:f8b0:400c:c03::5e) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: www.google.ca
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Mon, 03 Nov 2014 15:31:59 GMT
< Expires: -1
< Cache-Control: private, max-age=0
< Content-Type: text/html; charset=ISO-8859-1
< Set-Cookie: PREF=ID=eb76c9020ebd6a26:FF=0:TM=1415028719:LM=1415028719:S=pxxk1qaEXquTWjHO; expires=Wed, 02-Nov-2016 15:31:59 GMT; path=/; domain=.google.ca
< Set-Cookie: NID=67=bzNq9pQagemSuByTb3SUrkchTiOk9KshhQuO4qyTcjH-Z5lo92jfP9bfpW8twUDan65AslDGV1DyWnjJ2C17BqDVUQ6OGrq2BG3WFcGbCJladFmS0WAxEr7CinTF_I5S; expires=Tue, 05-May-2015 15:31:59 GMT; path=/; domain=.google.ca; HttpOnly
< P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
* Server gws is not blacklisted
< Server: gws
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< Alternate-Protocol: 80:quic,p=0.01
< Transfer-Encoding: chunked
< 
{ [data not shown]
100 17846    0 17846    0     0  92164      0 --:--:-- --:--:-- --:--:-- 92466
* Connection #0 to host www.google.ca left intact
Run Code Online (Sandbox Code Playgroud)

  • @Greg 是的,但任何 _that_ 古老的东西都不应该再出现在互联网上;它无论如何都无法访问许多网站。 (3认同)