Ответ
HTTPS (HyperText Transfer Protocol Secure) — это защищенная версия протокола HTTP, которая использует шифрование для обеспечения безопасности передачи данных.
Основное отличие заключается в том, что HTTPS работает поверх криптографического протокола TLS (Transport Layer Security), ранее известного как SSL. Это добавляет три ключевых уровня защиты:
- Конфиденциальность (Шифрование): Все данные, передаваемые между клиентом и сервером, шифруются. Это предотвращает их перехват и чтение третьими лицами (атаки типа "man-in-the-middle").
- Целостность: Данные защищены от изменений во время передачи. Любая попытка подмены будет обнаружена благодаря проверке криптографической подписи (MAC - Message Authentication Code).
- Аутентификация: Сервер подтверждает свою подлинность с помощью SSL/TLS-сертификата, выданного доверенным центром сертификации (CA). Это гарантирует клиенту, что он соединяется именно с тем сайтом, с которым намеревался.
Ключевые технические различия:
Характеристика | HTTP | HTTPS |
---|---|---|
Протокол | HTTP | HTTP поверх TLS/SSL |
Порт по умолчанию | 80 | 443 |
Безопасность | Нет шифрования | Данные зашифрованы |
URL-схема | http:// |
https:// |
Сертификат | Не требуется | Требуется SSL/TLS-сертификат |
Процесс установки безопасного соединения (упрощенный TLS Handshake) выглядит так:
- Клиент отправляет запрос на соединение (
ClientHello
). - Сервер отвечает, отправляя свой сертификат и публичный ключ (
ServerHello
). - Клиент проверяет подлинность сертификата и генерирует сессионный ключ, шифруя его публичным ключом сервера.
- Сервер расшифровывает сессионный ключ своим приватным ключом.
- С этого момента вся дальнейшая коммуникация шифруется с помощью согласованного сессионного ключа.