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) требует времени. Это нужно учитывать в тестах производительности.