Не уверен, что это правильный форум, чтобы спросить, но мне интересно, есть ли какие-либо ресурсы, которые говорят о том, как запросы от браузера могут передаваться на сервер, а затем запрашиваемая информация передается обратно браузеру. В частности, я хотел бы узнать больше о внутренностях - используемые протоколы, вся работа. Ура!
1 ответ
Браузер извлекает имя домена из URL-адреса (например,
superuser.com
из https://superuser.com/posts/232820) и просит операционную систему превратить его в IP-адрес.Операционная система консультируется с любыми настроенными методами разрешения имен. Обычно это будет кэш в памяти, локальный файл
hosts
и, наконец, DNS. (Некоторые браузеры имеют свои собственные кэши, а некоторые операционные системы поддерживают больше протоколов, чем просто DNS.)Если имя не найдено локально, ОС отправляет DNS-запрос на настроенный DNS-сервер (в Unix-подобных адрес находится в
/etc/resolv.conf
), UDP-порт 53.DNS-сервер отвечает одним или несколькими IP-адресами, к которым браузер пытается подключиться.
Браузер устанавливает соединение с указанным IP-адресом через порт TCP 80.
Браузер отправляет HTTP-запрос с заголовками, которые содержат файл для извлечения, а также другую информацию о возможностях браузера, любые куки-файлы для этого домена и другую мета-информацию.
Сервер (использующий программное обеспечение, такое как Apache) ищет файл и читает его.
Сервер отправляет контент (HTML, изображения, код JavaScript и т.д.) В веб-браузер. При первом запросе это обычно будет один блок HTML.
Браузер анализирует HTML, возвращаемый для запросов на дополнительные ресурсы - например, JavaScript, CSS, изображения и т.д.
Браузер выдает последующие запросы на дополнительные ресурсы. Запросы, сделанные к тому же серверу, не должны искать IP-адрес. Обычно существующее TCP-соединение также используется повторно.
Браузер обрабатывает контент и отображает его пользователю.
Вот быстрый схема всего процесса (отметим , однако, что нумерация не совпадает с объяснением использованной выше). Я думаю, что это обеспечивает достойный обзор всего процесса.