HTTPS
HTTP Secure — защищённая версия протокола HTTP с шифрованием TLS. Обязателен для всех современных сайтов, мобильных приложений и QR-кодов, ведущих в интернет.
Что такое HTTPS
HTTPS (HyperText Transfer Protocol Secure) — это расширение протокола HTTP, в котором передача данных защищена криптографическим протоколом TLS (Transport Layer Security). Если HTTP передаёт данные открытым текстом, то HTTPS шифрует каждый байт: посторонний наблюдатель видит лишь зашифрованный поток, из которого невозможно восстановить ни содержимое страницы, ни передаваемые данные.
На практике HTTPS опознаётся по трём признакам: схема https:// в начале адреса, иконка замка в адресной строке браузера и сертификат TLS, выданный доверенным удостоверяющим центром (CA). Начиная с 2023–2024 годов браузеры Chrome, Safari и Firefox отображают явное предупреждение «Соединение не защищено» при переходе на HTTP-сайты, а часть запросов блокируется автоматически.
Как работает TLS-шифрование
При первом подключении к HTTPS-сайту браузер и сервер выполняют TLS handshake — обмен ключами, занимающий несколько миллисекунд:
- Браузер запрашивает сертификат сервера и проверяет его подпись через цепочку доверия до корневого CA.
- Стороны согласуют алгоритм шифрования (в TLS 1.3 — только современные: AES-256-GCM, ChaCha20).
- Генерируются сессионные ключи через механизм Diffie-Hellman; перехват трафика даже в прошлом бессмыслен (свойство Perfect Forward Secrecy).
- Все последующие запросы в сессии передаются по зашифрованному каналу.
Сертификат TLS можно получить бесплатно через Let's Encrypt и его ACME-протокол — большинство хостингов и CDN автоматизируют этот процесс. Платные сертификаты (OV, EV) дополнительно верифицируют организацию и используются банками и госсервисами.
Применение в QR-кодах
Каждый QR-код, ведущий в интернет, должен использовать https://, а не http:// по нескольким причинам:
- Защита от подмены. На HTTP-соединении провайдер или злоумышленник в той же Wi-Fi-сети может подменить содержимое страницы — вставить рекламу, фишинговую форму или вредоносный код. HTTPS делает такую атаку (MITM — Man-in-the-Middle) практически невозможной.
- Доверие пользователя. Смартфоны при сканировании QR предварительно показывают URL. Если там http://, iOS и Android выводят предупреждение. Пользователь может отказаться переходить.
- Требования платформ. Apple App Store и Google Play требуют HTTPS для всех сетевых запросов из приложений (ATS/Network Security Config). Приложение, открывающее HTTP из QR внутри WebView, отклоняется при проверке.
- SEO и ранжирование. Google с 2014 года использует HTTPS как сигнал ранжирования. HTTP-страница в выдаче — исключение, а не норма.
При создании динамического QR-кода через QRkoder короткая ссылка всегда выдаётся с https://. Редирект с HTTP на HTTPS для старых кодов настраивается автоматически.
Частые вопросы
Что если сайт, на который ведёт QR, до сих пор без HTTPS?
Это серьёзная проблема. Браузеры Chrome и Firefox в 2024–2025 году начали блокировать смешанный контент и HTTP-переходы без предупреждения. Пользователь увидит страницу с заголовком «Ваше соединение не защищено» и, скорее всего, закроет её. Решение: установить сертификат TLS на целевом сайте (Let's Encrypt — бесплатно) или использовать динамический QR и перенаправить на HTTPS-зеркало или промежуточную страницу.
Как получить HTTPS-сертификат для своего домена?
Самый простой путь — Let's Encrypt через вашего хостинг-провайдера или панель управления (ISPmanager, cPanel, Plesk — все поддерживают автовыпуск). Для VPS и выделенных серверов используйте утилиту certbot: она запрашивает и обновляет сертификат автоматически по cron каждые 90 дней. Если хостинг не поддерживает Let's Encrypt — выберите другой или воспользуйтесь Cloudflare, который проксирует трафик и предоставляет HTTPS бесплатно даже на HTTP-бэкенде.
Иконка замка исчезла, хотя HTTPS есть. Почему?
Замок исчезает при «смешанном контенте»: страница загружена по HTTPS, но часть ресурсов (картинки, скрипты, CSS) подгружается по HTTP. Браузер считает соединение частично незащищённым. Откройте DevTools → вкладка Console или Security: там будет список HTTP-ресурсов. Замените их на HTTPS-версии. Часто проблема в старых изображениях, загруженных в CMS без указания схемы, или во внешних виджетах с HTTP-URL.
Влияет ли HTTPS на скорость загрузки QR-страницы?
TLS 1.3 добавляет менее 1 мс задержки на установку соединения — это незначительно. Более того, HTTPS обязателен для HTTP/2 и HTTP/3 (QUIC), которые значительно ускоряют загрузку по сравнению с HTTP/1.1. На практике сайт с HTTPS + HTTP/2 загружается быстрее, чем тот же сайт по HTTP/1.1. Для QR-кодов, которые открываются на мобильных устройствах в зонах нестабильного сигнала, это особенно важно.