Шпаргалка: HTTP vs HTTPS для тестировщика

Интерактивное руководство по главному протоколу веба и его развитию.

HTTP

HyperText Transfer Protocol

Как передаются данные? (Нажми)

Данные передаются в открытом виде

Любой, кто "прослушивает" сеть, может прочитать ваш трафик: логины, пароли, сообщения.

Браузер ➔ Сеть ➔ Сервер login: user, pass: 12345

HTTPS

HyperText Transfer Protocol Secure

Как передаются данные? (Нажми)

Данные шифруются (TLS/SSL)

TLS (Transport Layer Security) — это современный протокол шифрования. Он пришел на смену устаревшему SSL (Secure Sockets Layer), обеспечивая безопасную передачу данных.

Браузер ➔ Сеть ➔ Сервер aG92ZXJjcmFmdCBpcyBmdW...

Эволюция версий протокола

HTTP/1.1 (1997 г.)

Классический протокол, который до сих пор является основой веба. Он текстовый, что делает его простым для отладки.

Ключевая особенность: Последовательная загрузка. Браузер открывает несколько TCP-соединений (обычно 6) и по каждому загружает ресурсы один за другим.
Что это значит для тестировщика: Легко отлаживать в DevTools (вкладка Network). Нагрузочные тесты часто имитируют именно такое поведение. Главный минус — низкая производительность на сайтах с большим количеством мелких ресурсов.

HTTP/2 (2015 г.)

Большое обновление, направленное на решение проблем производительности HTTP/1.1. Работает только поверх HTTPS.

Ключевая особенность: Мультиплексирование. Все запросы и ответы передаются в бинарном виде в рамках одного TCP-соединения, что устраняет "пробки".
Что это значит для тестировщика: Значительно ускоряет загрузку. При тестировании производительности нужно убедиться, что и сервер, и инструменты поддерживают HTTP/2. Старые "хаки" вроде объединения CSS-файлов становятся менее актуальными.

HTTP/3 (2022 г.)

Новейшая версия протокола, которая решает проблемы предыдущих версий, меняя транспортный протокол с TCP на QUIC (UDP).

Ключевая особенность: Работает поверх QUIC. Это решает проблему "потери пакетов" на уровне TCP, которая тормозила все потоки в HTTP/2. Ускоряет установку соединения.
Что это значит для тестировщика: Обеспечивает лучшую производительность в нестабильных сетях (например, мобильных). Тестирование требует поддержки QUIC на сервере, клиенте и в инструментах. Это передний край технологий, и его поддержка еще не повсеместна.

Почему это важно для тестировщика?

  • Проверка редиректов: Убедитесь, что все запросы к http:// автоматически перенаправляются на https:// с кодом 301.
  • Тестирование Mixed Content (смешанного содержимого): На HTTPS-странице не должно быть ресурсов (картинок, скриптов), которые загружаются по HTTP. Это уязвимость.
  • Проверка SSL-сертификатов: Проверяйте, что сертификат валиден, не просрочен и выдан доверенным центром.
  • Влияние на производительность: Установка HTTPS-соединения (handshake) требует времени. Это нужно учитывать в тестах производительности.