Что такое HTTPS и на что обращать внимание при его тестировании?

«Что такое HTTPS и на что обращать внимание при его тестировании?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

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

  1. Корректность редиректа: HTTP-запросы должны автоматически перенаправляться на HTTPS (код ответа 301/308).
  2. Валидность SSL-сертификата:
    • Сертификат должен быть выдан доверенным центром (CA).
    • Срок действия не истёк.
    • Имя домена в сертификате совпадает с именем сервера.
  3. Отсутствие смешанного контента (Mixed Content): Страница, загруженная по HTTPS, не должна запрашивать ресурсы (скрипты, стили, изображения) по HTTP.
  4. Поддержка современных протоколов и шифров: Следует отключать устаревшие и небезопасные версии (SSLv3, TLS 1.0) и шифры.

Пример проверки в Postman Test:

pm.test("Force HTTPS redirect", function () {
    pm.response.to.have.status(301);
    pm.expect(pm.response.headers.get("Location")).to.include("https://");
});

Инструменты для проверки: SSL Labs (SSL Test), браузерные инструменты разработчика (вкладка Security), команды openssl и curl.