HTTP и HTTPS

Тема дорожной карты · Frontend разработчик

HTTP (HyperText Transfer Protocol) и HTTPS (HTTP Secure) — это базовые протоколы прикладного уровня, по которым браузеры и веб-серверы обмениваются HTML, CSS, JavaScript и данными API. HTTP — это протокол запрос-ответ без сохранения состояния, в котором клиенты отправляют запросы с методами GET, POST, PUT, DELETE и PATCH, а серверы отвечают кодами состояния (200 OK, 301 Moved Permanently, 404 Not Found, 500 Internal Server Error) и заголовками, управляющими кэшированием (Cache-Control), типом содержимого (Content-Type) и совместным использованием ресурсов (Access-Control-Allow-Origin для CORS). HTTPS — это HTTP поверх соединения TLS (Transport Layer Security), шифрующего данные при передаче и предотвращающего прослушивание и атаки «человек посередине» — он является обязательным требованием для Progressive Web Apps, service workers и любых страниц, обрабатывающих конфиденциальные данные пользователей. Современные браузеры требуют HTTPS для безопасных контекстов, HTTP/2 (мультиплексирующий запросы по одному TCP-соединению) и HTTP/3 (на базе QUIC) требуют TLS, а Lighthouse снижает оценку HTTP-страниц в аудитах безопасности и производительности.

Как это работает

HTTP и HTTPS покрывает взаимодействие браузера и сервера: браузер резолвит DNS, открывает TCP+TLS, шлёт HTTP-запрос, получает HTML, парсит (строит DOM и CSSOM), исполняет JavaScript, делает layout + paint, показывает пиксели. Современные браузеры гонят JS в main thread, но network, парсинг, layout, paint, composit выносят на другие потоки. URL идентифицируют ресурсы; HTTP их доставляет; cookie + localStorage держат state на клиенте.

Когда применять

Понимание основ веба обязательно для серьёзной frontend-работы — каждый perf-баг, каждое "локально работает, в проде нет", каждая accessibility-проблема сводится к примитиву браузера. Прочтите MDN-разделы про HTTP, DOM, render pipeline один раз; возвращайтесь при отладке. Тестируйте в нескольких браузерах (Chrome, Firefox, Safari mobile + desktop) — они отличаются сильнее, чем признают.

Типичные ошибки

Ловушки HTTP и HTTPS: расчёт, что поведение Chrome = "веб" (Safari ≠ Chrome, и Safari — единственный движок iOS); игнор cache-заголовков и огромные бандлы на каждый load; вера в "у меня на быстром wifi работает" — реальные пользователи на 3G mobile — другая планета; непонимание разницы render-путей (SSR / SSG / CSR / hydration). Профилируйте в Chrome DevTools Performance; timeline не врёт.

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…