• ВебИнтернет
  • Что происходит, когда мы набираем в браузере некоторую строку (URL) ?

  • serbinСтремящайся

  • Изменено

Когда мы вводим URL-адрес в адресную строку браузера и нажимаем Enter браузер не посылает серверу запрос сразу дожидаясь что показать в ответ. Все немного сложнее.

Мы вводим URL-адрес в адресную строку браузера и нажимаем Enter, происходит следующее:

  1. Браузер разбивает URL-адрес на несколько частей: протокол, доменное имя, порт, путь к ресурсу и параметры запроса.

  2. Браузер проверяет кэш DNS, чтобы определить IP-адрес сервера, на котором расположен сайт. Если DNS-кэш не содержит записи об IP-адресе сайта, браузер отправляет запрос DNS-серверу и получает ответ.

  3. Браузер устанавливает соединение с сервером, используя протокол, указанный в URL-адресе (обычно это HTTP или HTTPS).

  4. Браузер отправляет HTTP-запрос на сервер, который содержит метод запроса (GET, POST, DELETE, и т. д), заголовки запроса и параметры запроса (если есть).
    Получается что-то типа следующего:

    GET example.com?foo=bar HTTP/1.0\n
    ...заголовки запроса...
    \n\n

    Здесь \n означает символ перевода строки, а \n\n — два обязательных символа новой строки, которые являются маркером окончания запроса (точнее, окончания заголовков запроса). Пока мы не пошлем этот маркер, сервер не будет обрабатывать наш запрос.
    Как видим, после GET-строки могут следовать и другие строки с информацией, разделенные символом перевода строки. Их обычно формирует браузер. Такие строки называются заголовками запроса (headers), и их может быть сколько угодно. Протокол HTTP как раз и задает правила формирования и интерпретации этих заголовков.

  5. Сервер обрабатывает запрос, выполняет необходимые действия (например, отправляет запрошенную страницу) и отправляет ответ браузеру.

  6. Браузер получает ответ от сервера, который содержит статус ответа (например, 200 OK, 404 Not Found), заголовки ответа и тело ответа (например, HTML-код страницы).

  7. Браузер отображает полученную страницу в окне браузера.