В чем разница между HTTP и HTTPS?

«В чем разница между HTTP и HTTPS?» — вопрос из категории HTTP и веб-протоколы, который задают на 31% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP (HyperText Transfer Protocol) — это базовый протокол для передачи данных в вебе. Он работает по схеме «запрос-ответ», но данные передаются в открытом, незашифрованном виде.

HTTPS (HTTP Secure) — это расширение HTTP, которое добавляет шифрование и аутентификацию с помощью протоколов SSL/TLS.

Ключевые различия с точки зрения тестирования и безопасности:

Критерий HTTP HTTPS
Шифрование Отсутствует. Данные (логины, пароли, cookies) передаются как plain text. Присутствует. Данные шифруются между клиентом и сервером.
Порт 80 443
Сертификат Не требуется. Требуется SSL/TLS-сертификат, выданный доверенным центром сертификации (CA).
Целостность данных Нет гарантий. Данные могут быть изменены при передаче (man-in-the-middle). Обеспечивается механизмами TLS.
Влияние на тестирование Можно использовать снифферы (Wireshark) для анализа трафика. Для анализа зашифрованного трафика нужны дополнительные шаги (например, настройка прокси в Burp Suite с импортом его сертификата в систему).

Практический пример для тестировщика: При тестировании веб-приложения обязательно проверяйте:

  1. Работает ли сайт только по HTTPS (HTTP-запросы должны редиректиться на HTTPS).
  2. Валиден ли SSL-сертификат (не просрочен, выдан для правильного домена, цепочка доверия не нарушена).
  3. Нет ли смешанного контента (Mixed Content) — когда HTTPS-страница загружает ресурсы (скрипты, стили) по HTTP, что ослабляет защиту.

Видео-ответы