В чём ключевые отличия протоколов HTTP и HTTPS?

Ответ

Основное отличие — HTTPS (HTTP Secure) является защищённой версией HTTP, использующей шифрование для обеспечения конфиденциальности, целостности и аутентификации данных.

Аспект HTTP HTTPS
Протокол шифрования Отсутствует. Данные передаются в открытом виде (plain text). Используется SSL/TLS для шифрования всего соединения.
Порт по умолчанию 80 443
Схема URL http:// https://
Аутентификация Нет. Не подтверждает подлинность сервера. Использует SSL-сертификаты, выданные доверенными центрами (CA), чтобы подтвердить, что вы соединяетесь с настоящим сайтом.
Целостность данных Данные могут быть незаметно изменены при передаче (атака «man-in-the-middle»). Шифрование гарантирует, что полученные данные не были подменены.
Влияние на SEO Сайты без HTTPS могут ранжироваться ниже. Google и другие поисковики отдают предпочтение HTTPS-сайтам.
Производительность Незначительно быстрее из-за отсутствия накладных расходов на шифрование. Незначительно медленнее из-за процесса «рукопожатия» (handshake) TLS, но с современными алгоритмами разница минимальна.

Как работает HTTPS (упрощённо):

  1. SSL/TLS Handshake: Клиент и сервер «договариваются» о параметрах шифрования, сервер предъявляет свой SSL-сертификат.
  2. Верификация сертификата: Браузер проверяет, что сертификат выдан доверенным центром, не истёк и соответствует запрошенному домену.
  3. Обмен ключами: Создаётся общий симметричный ключ для шифрования данных сессии.
  4. Зашифрованная передача: Все последующие HTTP-запросы и ответы передаются в зашифрованном виде.

Для QA-инженера важно:

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

Ответ 18+ 🔞

Давай разберём, в чём тут собака зарыта, а точнее — в чём разница между обычным HTTP и его защищённым собратом HTTPS. Это, блядь, как сравнивать открытку и запечатанный конверт с восковой печатью — вроде одно и то же, а нахуй нет.

Аспект HTTP (голый и беспомощный) HTTPS (в бронежилете и с паспортом)
Шифрование Вообще нихуя. Всё летит открытым текстом, как будто ты орёшь свой пароль от карты в переполненном автобусе. Всё зашифровано по протоколу SSL/TLS. Если кто и перехватит — увидит лишь абракадабру, ебать его в сраку.
Порт 80 — классика, как парадная дверь без замка. 443 — уже с кодовым замком и домофоном.
URL http:// — всем видно, куда идёшь. https:// — иди нахуй, любопытная Варвара, это конфиденциально.
Аутентификация Ноль. Подключаешься к чему угодно — хоть к левому серваку злоумышленника. Сервер тычет тебе в лицо SSL-сертификат, выданный доверенной конторой (CA). Примерно как «предъявите документы» — и ты видишь, что это не левая мартышлюшка, а настоящий сайт банка.
Целостность Данные можно по дороге подменить, как супа в столовой — добавить туда своей «сметаны». Атака «man-in-the-middle» — её любимый трюк. Шифрование гарантирует, что суп долетит до тебя в том виде, в каком его повар наложил. Ни одной лишней сопли.
SEO Гугл на такие сайты смотрит как на обосранные подъезды — ранжирует ниже. Предпочитает защищённые, даёт им зелёный свет.
Скорость Чуть быстрее, потому что не тратит время на «рукопожатия» и шифрование. Чуть медленнее из-за начального TLS handshake, но, блядь, с современными алгоритмами разница — хуй с горы. Не заметишь.

Как эта штука, блядь, работает (на пальцах):

  1. TLS Handshake (рукопожатие): Твой браузер и сервер знакомятся. Сервер говорит: «На, проверь мой сертификат, я не мудак».
  2. Проверка сертификата: Браузер лезет в свой список доверенных «контор» и сверяет. Если всё ок — идём дальше. Если нет — кричит «Тревога, пидары налетели!» и показывает тебе огромную красную страницу.
  3. Обмен ключами: Они создают общий секретный ключ для этой сессии. Типа как договориться, на каком языке дальше шептаться, чтобы другие не поняли.
  4. Шифрованная болтовня: Всё, пошла-поехала. Все твои запросы (логины, пароли, номера карт) и ответы сервера летят в зашифрованном виде.

А теперь, коллега-тестировщик, где твоё место в этой истории:

  • Главное правило: Все страницы, где есть хоть капля чувствительной инфы (логин, оплата, личный кабинет), должны быть ТОЛЬКО на HTTPS. Если видишь форму ввода пароля на http:// — это не баг, это пиздец и кричишь на всю контору.
  • Ломать — не строить: Обязательно потести, что будет, если сертификат просрочен, выдан левой организацией или не соответствует домену. Браузер должен не молча пустить, а устроить скандал с блокировкой или огромным предупреждением. Если пускает — опять пиздец.
  • Инструменты: Помни, что твои любимые снифферы и прокси (типа Charles/Fiddler) для просмотра HTTPS-трафика требуют, чтобы ты установил их собственный сертификат в систему. Без этого они видят только шифрованную тарабарщину. Это нормально, но не забудь его потом удалить, а то волнение ебать будешь.