Что именно происходит, когда вы указываете браузеру перейти на веб-страницу? - PullRequest
0 голосов
/ 05 марта 2011

У меня есть знания по моему вопросу, но не совсем. Что именно программно происходит после http запроса?

Скотт Хансельман сказал в одном из своих постов в блоге:

Опишите как можно подробнее, насколько это возможно, как можно глубже, что происходит, когда я набираю «cnn.com» в браузере и нажимаю «Go». Мой вопрос именно такой,

Ответы [ 2 ]

8 голосов
/ 05 марта 2011

Это все равно что спрашивать "опишите, как выполнить коронарный шунт".Да, можно объяснить как, но лучше сначала изучать медицину и изучать основы, прежде чем начинать с определенных процедур.Тем не менее, в следующих пунктах:

  1. Ваш браузер захочет узнать IP-адрес cnn.com.Он не выполняет поиск DNS , а запрашивает операционную систему.
  2. Ваш браузер подключится к этому IP-адресу через порт 80
  3. Ваш браузер отправит HTTP GET запрос
  4. веб-сервер ответит статус-кодом 200 и содержимым тела
  5. Ваш браузер проанализирует HTML
  6. В HTML другие ресурсы (изображения, скрипты, css-файлы ...) могут быть включены, которые браузер также будет получать.
  7. После того, как браузер завершит работу, он закроет соединение.Если этого не произойдет, веб-сервер будет.
2 голосов
/ 05 марта 2011

Браузер пытается преобразовать имя cnn.com в его IP-адрес.

Браузер TCP подключается к IP-адресу cnn.com через порт HTTP по умолчанию (80)

Браузеротправляет GET-запрос на сервер, запрашивая / page

Браузер сообщает, что пытается подключиться к «cnn.com» (cnn.com и bbc.com могут быть размещены в одной хостинговой компании, стот же IP-адрес)

Браузер также сообщает, какой у вас браузер, движок браузера, версия браузера, операционная система и установленные плагины.

Сервер отправляет заголовок, сообщающий о том, что происходитВаш ответ, тип данных, которые вы собираетесь получать (в данном случае, HTML), и размер ответа, если он доступен.

Сервер закрывает соединение, если нет никаких подтверждений активностиинструкция из браузера.В противном случае он будет использовать это открытое соединение, чтобы запрашивать другие вещи, которые могут понадобиться (например, изображения на странице.)

Кстати, скачайте и установите Wireshark, если вы хотите углубиться ипосмотри, что на самом деле происходит за кулисами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...