Мой понимание о том, как работают разрешение DNS и веб-браузеры, выглядит следующим образом:
Если что-то, что я сказал до сих пор, неточно, вводит в заблуждение или опускает какие-либо основные компоненты, пожалуйста начни с исправления меня!
Предполагая, что мое понимание разрешения DNS и поиска IP-адресов более или менее на должном уровне, у меня возникает следующий вопрос:
После того, как браузер преобразовал доменное имя в IP-адрес (через DNS), он устанавливает прямое HTTP-соединение с этим IP-адресом. При этом есть ли ссылка что бы то ни было изначально запрошенного URL?
Другими словами, скажите blah.example.com
разрешается на IPv4-адрес 1.2.3.4
. Просьба к http://blah.example.com/fizz
затем будет переведен в запрос на http://1.2.3.4:80/fizz
. У меня вопрос: в этом втором запросе (который напрямую ссылается на IP-адрес) есть ли ссылки на заголовки / метаданные blah.example.com
?
я смотрел на Список стандартных заголовков HTTP-запросов в Википедии, и, к моему большому разочарованию, не смог найти ничего выделяющегося. Думаю, я как бы надеялся на заголовок вроде Requested-URL
, и т.д.
Там должен быть некоторые способ привязать второй HTTP-запрос к первоначально запрошенному имени, иначе я не думаю, что прокси или балансировщики нагрузки когда-либо могли бы работать.
Это в заголовке 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