В чем разница между протоколами HTTP и HTTPS?

«В чем разница между протоколами HTTP и HTTPS?» — вопрос из категории Сети, который задают на 23% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Основные различия: Критерий HTTP HTTPS
Шифрование Отсутствует, данные передаются открытым текстом. Применяется, данные защищены от перехвата и подмены.
Порт по умолчанию 80 443
Идентификация сервера Не требуется. Требуется SSL-сертификат, выданный доверенным центром (CA).
Производительность Быстрее (нет накладных расходов на шифрование). Медленнее из-за процесса «рукопожатия» (handshake) и шифрования.

Практическое значение для iOS-разработки:

  • Начиная с iOS 9 и App Transport Security (ATS), Apple требует использования HTTPS.
  • Для работы с HTTP-доменами необходимо явно указывать исключения в Info.plist.
  • Все сетевые запросы в продакшн-приложениях должны использовать HTTPS для защиты пользовательских данных.