Ответ
Основное отличие — 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 (упрощённо):
- SSL/TLS Handshake: Клиент и сервер «договариваются» о параметрах шифрования, сервер предъявляет свой SSL-сертификат.
- Верификация сертификата: Браузер проверяет, что сертификат выдан доверенным центром, не истёк и соответствует запрошенному домену.
- Обмен ключами: Создаётся общий симметричный ключ для шифрования данных сессии.
- Зашифрованная передача: Все последующие 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, но, блядь, с современными алгоритмами разница — хуй с горы. Не заметишь. |
Как эта штука, блядь, работает (на пальцах):
- TLS Handshake (рукопожатие): Твой браузер и сервер знакомятся. Сервер говорит: «На, проверь мой сертификат, я не мудак».
- Проверка сертификата: Браузер лезет в свой список доверенных «контор» и сверяет. Если всё ок — идём дальше. Если нет — кричит «Тревога, пидары налетели!» и показывает тебе огромную красную страницу.
- Обмен ключами: Они создают общий секретный ключ для этой сессии. Типа как договориться, на каком языке дальше шептаться, чтобы другие не поняли.
- Шифрованная болтовня: Всё, пошла-поехала. Все твои запросы (логины, пароли, номера карт) и ответы сервера летят в зашифрованном виде.
А теперь, коллега-тестировщик, где твоё место в этой истории:
- Главное правило: Все страницы, где есть хоть капля чувствительной инфы (логин, оплата, личный кабинет), должны быть ТОЛЬКО на HTTPS. Если видишь форму ввода пароля на
http://— это не баг, это пиздец и кричишь на всю контору. - Ломать — не строить: Обязательно потести, что будет, если сертификат просрочен, выдан левой организацией или не соответствует домену. Браузер должен не молча пустить, а устроить скандал с блокировкой или огромным предупреждением. Если пускает — опять пиздец.
- Инструменты: Помни, что твои любимые снифферы и прокси (типа Charles/Fiddler) для просмотра HTTPS-трафика требуют, чтобы ты установил их собственный сертификат в систему. Без этого они видят только шифрованную тарабарщину. Это нормально, но не забудь его потом удалить, а то волнение ебать будешь.