Any semblance of originally-requested domain name in HTTP, post DNS-resolution?

My understanding of how DNS resolution and web browsers work is as follows:

  1. Your browser uses the DNS system that ultimately connects it to your registrars name servers
  2. Your registrar's name servers then, ultimately, send the mapped IP address back to your browser
  3. Your browser then makes a direct HTTP connection to the IP address returned by the registrar's name server

If anything I have said so far is inaccurate or mislead, or is omitting any major components, please begin by correcting me!

Assuming my understanding of DNS resolution and IP address lookups is more or less on track, then I have the following question:

After the browser has resolved a domain name to an IP address (via DNS), it makes a direct HTTP connection to that IP address. When doing so, is there any reference whatsoever of the originally-requested URL?

In other words, say blah.example.com gets resolved to an IPv4 address of 1.2.3.4. A request to http://blah.example.com/fizz would then get translated to a request to http://1.2.3.4:80/fizz. My question is: in this 2nd request (which references the IP address directly), are there any headers/metadata referencing blah.example.com?

I looked at Wikipedia's list of standard HTTP request headers, and much to my dismay, couldn't find any that stood out. I guess I was sort of hoping for a header like Requested-URL, etc.

There has to be some way of tying the 2nd HTTP request to the originally requested name, otherwise I don't think proxies or load balancers could ever work.


It's in the Host header:

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