
- После ввода значения в адресную строку и нажатия клавиши
Enterпроисходит электрический импульс и распознание нажатой клавиши, браузер понимает это и получает информацию об URL, делает он это так:-
Используя протокол
HTTPбраузер проверяет список HSTSHTTP Strict Transport Security. Это список сайтов, к которым нужно обращаться только поHTTPS. Если сайт в списке, то браузер отправляет запрос через HTTPS. Иначе – черезHTTP. -
Браузер проверяет имя хоста на наличие символов, отличных от
a-z,A-Z,0-9,-, или.. (Если отличные символы есть, то будет применяться другая кодировка). -
Для того, чтобы браузер мог понять какой
IP-адрессоответствует доменному имени происходит процессDNS Lookup. Браузер смотрит у себя вcacheили в файлеhostесть ли для данного доменного имениIP-адрес, если нет, то обращается к серверу роутера -> провайдера -> корневого сервера -> сервер ответственный за зону (например,com) ->name server Google. Таким образом, мы узнаемIP-адрессервера, к которому мы хотим подключиться. -
Когда браузер получает
IP-адресконечного сервера, то он берёт эту информацию и данные об используемом порте изURL(80 порт для HTTP, 443 для HTTPS) и осуществляет вызов функцииsocketсистемной библиотеки и запрашивает потокTCPсокета —AF_INETиSOCK_STREAM. На этой точке пакет готов к передаче через:- Ethernet
- WiFi
- По сотовой связи В конечном итоге пакет доберётся до маршрутизатора, управляющего локальной подсетью. Затем он продолжит путешествовать от одного роутера к другому, пока не доберётся до сервера назначения.
-
Клиент отправляет сообщение серверу со своей версией протокола
TLS. Сервер отвечает своейTLS, методом шифрования и др.. Клиент подтверждает сертификат сервера с помощью своего списка центров сертификации. Если сертификат подписан центром из списка, то серверу можно доверять. -
Отправляется
HTTP-запрос. Принимается ответ. -
Движок рендеринга начинает получать содержимое запрашиваемого документа от сетевого механизма браузера. Как правило, контент поступает кусками по 8Кб. Главной задачей HTML-парсера является разбор разметки в специальное дерево.
Получающееся на выходе дерево («parse tree») — это дерево DOM-элементов и узлов атрибутов.
-
Происходит интерпретация CSS-стилей.
-
Создаётся Render Tree, геометрия, layout и т.д.
-