4

Мне было интересно, что происходит, когда мы печатаем URL-адрес, например http://www.mydomain.com ? Как он узнает, куда можно перейти на страницы mydomain.com? Как все это происходит?

1 ответ1

8

URL - это просто адрес, ссылка. Вот как это происходит:

  1. пользователь вводит URL в браузере. Это обрабатывается драйвером клавиатуры, который отправляет события клавиатуры в браузер, который отвечает обновлением адресной строки набранными символами
  2. браузер анализирует URL в различных частях, как определено в RFC 3986
  3. браузер выберет часть хоста, и он будет использовать внутреннюю библиотеку распознавателя, чтобы найти IP-адрес. Наиболее используемый распознаватель - DNS. Для этого библиотека распознавателя, которая отображается внутри приложения, отправит UDP-запрос на порт 53 на DNS-сервере, настроенном для клиентского компьютера. DNS-сервер будет искать запрос во внутреннем кэше и, если он истек или отсутствует, он сделает рекурсивный запрос, пытаясь найти адрес.
  4. браузер подключается к HTTP-серверу через порт по умолчанию (TCP/80).
  5. браузер отправляет запрос GET и указывает также заголовок HOST согласно HTTP/1.1, см. RFC 2616
  6. http-сервер проанализирует запрос и отправит запрос на виртуальный хост, указанный в запросе
  7. приложение возвращает сгенерированный контент (обычно HTML) в браузер
  8. браузер анализирует результат, генерирует некоторые события JavaScript/DOM и отображает страницу (например, движок Gecko в FireFox).

Это очень очень сжатое объяснение. Я не говорю о SSL, сжатии, согласовании языка и кодировки символов, аутентификации, CGI, конвейерной обработке и keep-alives.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .