4.1. Итоги
Теперь вы знаете, какой путь проходят данные и из каких частей он состоит. Если говорить о модели OSI, то это семь уровней. В стеке TCP/IP четыре уровня.
Для подключения к каждому сайту браузер должен выполнить следующие действия:
- Найти IP-адрес сервера при помощи DNS.
- Инициировать TCP-соединение с сервером, то есть «рукопожатия» TCP. Здесь происходит обмен пакетами: клиент → сервер → клиент.
- Для сайтов с безопасным подключением HTTPS происходит «рукопожатие» TLS. Здесь два раунда обмена пакетами: клиент → сервер → клиент → сервер → клиент. Однако при работе по небезопасному HTTP-соединению поисковики понижают рейтинг сайта в поиске. Поэтому (и не только), несмотря на уменьшение скорости доставки данных, безопасное подключение — необходимость.
Пусть для пользователя подключение происходит почти мгновенно: процесс можно ускорить разными способами и на разных уровнях OSI.
На прикладном уровне вы можете инициировать TCP-соединение при помощи preload, prefetch, preconnect, dns-prefetch, prerender.
Следующий способ ускорения передачи данных — использование WebSockets. «Рукопожатие» происходит при каждом установлении соединения. WebSockets обеспечивает постоянное соединение между клиентом и сервером, и данные передаются в рамках этого соединения. То есть «рукопожатие» происходит только один раз для передачи различных данных.
Сокращение передачи данных обеспечивает Server Push, во время которого сервер отдаёт ресурсы, предполагая, что они понадобятся клиенту в ближайшем будущем. Server Push реализован в HTTP/2.
Для уменьшения объёма передачи данных HTTP/2 объединяет все заголовки пакетов и передаёт один заголовок на все пакеты.
Развитие интернета движется в сторону HTTP/3, который работает через протокол UDP, поэтому безопасность реализовывается самостоятельно. При этом скорость доставки данных гораздо выше.
Далее вас ждёт итоговый тест для проверки полученных на курсе знаний.