1. Введите www.google.com в адресную строку браузера.

2. Браузер проверяет кеш на наличие записи DNS, чтобы найти соответствующий IP-адрес www.google.com.

  • DNS (система доменных имен) — это база данных, которая поддерживает имя веб-сайта (URL) и конкретный IP-адрес, на который он ссылается. Каждому URL-адресу в Интернете присвоен уникальный IP-адрес.
  • Например, www.google.com имеет IP-адрес 209.85.227.104. Поэтому, если хотите, вы можете перейти на www.google.com, набрав в браузере http://209.85.227.104.
  • Основной целью DNS является удобная навигация. Вы можете легко получить доступ к веб-сайту, введя правильный IP-адрес в своем браузере, но представьте себе, что вам нужно запоминать разные наборы номеров для всех сайтов, к которым мы регулярно обращаемся? Таким образом, проще запомнить название веб-сайта, используя URL-адрес, и позволить DNS сделать всю работу за нас, сопоставив его с правильным IP-адресом.
  • Чтобы найти запись DNS, браузер проверяет четыре кеша.

Сначала он проверяет кеш браузера. Браузер поддерживает репозиторий записей DNS в течение фиксированного периода времени для веб-сайтов, которые вы ранее посещали. Таким образом, это первое место для запуска DNS-запроса.

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

В-третьих, он проверяет кэш маршрутизатора. Если его нет на вашем компьютере, браузер будет связываться с маршрутизатором, который поддерживает собственный кеш DNS-записей.

В-четвертых, он проверяет кэш интернет-провайдера. Если все шаги не пройдены, браузер перейдет к интернет-провайдеру. Ваш интернет-провайдер поддерживает свой собственный DNS-сервер, который включает в себя кеш DNS-записей, которые браузер будет проверять в последней надежде найти запрошенный URL-адрес.

3. Если запрошенный URL-адрес отсутствует в кэше, DNS-сервер интернет-провайдера инициирует DNS-запрос, чтобы найти IP-адрес сервера, на котором размещен www.google.com.

  • Целью DNS-запроса является поиск нескольких DNS-серверов в Интернете, пока не будет найден правильный IP-адрес веб-сайта.

4. Браузер инициирует TCP-соединение с сервером.

  • Как только браузер получит правильный IP-адрес, он установит соединение с сервером, соответствующим IP-адресу, для передачи информации.
  • Браузеры используют интернет-протоколы для создания таких соединений.
  • Существует несколько различных интернет-протоколов, которые можно использовать, но TCP является наиболее распространенным протоколом, используемым для многих типов HTTP-запросов.
  • Для передачи пакетов данных между вашим компьютером (клиентом) и сервером важно установить TCP-соединение.
  • Это соединение устанавливается с помощью процесса, называемого трехэтапным рукопожатием TCP/IP. Это трехэтапный процесс, при котором клиент и сервер обмениваются сообщениями SYN (синхронизация) и ACK (подтверждение) для установления соединения. связь.

1. Клиентская машина отправляет пакет SYN на сервер через Интернет, запрашивая, открыт ли он для новых подключений.

2. Если у сервера есть открытые порты, которые могут принимать и инициировать новые соединения, он ответит ACKnowledgment пакета SYN, используя пакет SYN/ACK.

3. Клиент получит пакет SYN/ACK от сервера и подтвердит его отправкой пакета ACK.

  • Затем устанавливается TCP-соединение для передачи данных!

5. Браузер отправляет HTTP-запрос на веб-сервер.

  • Как только TCP-соединение установлено, пора начинать передачу данных!
  • Браузер отправит запрос GET с запросом на веб-страницу maps.google.com.
  • Если вы вводите учетные данные или отправляете форму, это может быть POST-запрос. Этот запрос также будет содержать дополнительную информацию, такую ​​как идентификация браузера (заголовок User-Agent), типы запросов, которые он будет принимать (заголовок Accept), и заголовки соединения. с просьбой поддерживать соединение TCP для дополнительных запросов. Он также будет передавать информацию, полученную из файлов cookie, которые браузер хранит для этого домена.

6. Сервер обрабатывает запрос и отправляет ответ.

  • Сервер содержит веб-сервер (например, Apache, IIS), который получает запрос от браузера и передает его обработчику запросов для чтения и генерации ответа.
  • Обработчик запроса — это программа (написанная на ASP.NET, PHP, Ruby и т. д.), которая считывает запрос, его заголовки и файлы cookie, чтобы проверить, что запрашивается, а также при необходимости обновить информацию на сервере. Затем он соберет ответ в определенном формате (JSON, XML, HTML).

7. Сервер отправляет HTTP-ответ.

  • Ответ сервера содержит запрошенную вами веб-страницу, а также код состояния, тип сжатия (Content-Encoding), способ кэширования страницы (Cache-Control), любой файлы cookie для установки, информация о конфиденциальности и т. д.

8. Браузер отображает содержимое HTML (для ответов HTML, что является наиболее распространенным).

  • Браузер отображает содержимое HTML поэтапно.
  • Во-первых, он отобразит голый HTML-скелет.
  • Затем он проверит теги HTML и отправит запросы GET для дополнительных элементов на веб-странице, таких как изображения, таблицы стилей CSS, файлы JavaScript и т. д.
  • Эти статические файлы кэшируются браузером, поэтому ему не нужно снова извлекать их при следующем посещении страницы. В конце концов, вы увидите, что www.google.com появляется в вашем браузере.

Вот и все!

Не стесняйтесь лайкать, комментировать или делиться этой статьей, если она была вам полезна :)

Спасибо за прочтение

Я знаю, что всегда есть что улучшить. Пожалуйста, поделитесь своими мыслями