Как проверить корректность перехода с HTTP на HTTPS для веб-сайта?

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

Ответ

Проверка включает несколько ключевых аспектов:

  1. Редирект (301 Moved Permanently):

    • Запрос по HTTP должен автоматически перенаправляться на HTTPS.
    • Проверка через cURL:
      curl -I http://example.com

      В заголовках ответа должен присутствовать Location: https://example.com с кодом состояния 301 или 302.

  2. Заголовок HSTS (HTTP Strict Transport Security):

    • Ответ по HTTPS должен содержать заголовок Strict-Transport-Security (например, max-age=31536000; includeSubDomains). Это указывает браузеру всегда использовать HTTPS.
  3. Отсутствие смешанного контента (Mixed Content):

    • Все ресурсы (скрипты, стили, изображения, iframe) должны загружаться по протоколу HTTPS. Ошибки "Mixed Content" отображаются в консоли разработчика браузера (вкладка Console или Security).
  4. Валидность SSL-сертификата:

    • Сертификат должен быть выдан доверенным центром сертификации (CA) и не быть просроченным.
    • Проверка через OpenSSL:
      openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates
    • Также можно использовать онлайн-инструменты (SSL Labs).
  5. Функциональное тестирование:

    • После перехода все ключевые функции сайта (авторизация, формы, платежи) должны работать корректно.