Протоколы HTTP и HTTPS — основа веб-коммуникаций. Они определяют, как будут передаваться данные между браузером и сервером. В условиях растущих киберугроз чаще используется HTTPS для защищенной передачи. Рассказываем, чем он отличается от традиционного HTTP, как работает и что сделать, чтобы на него перейти.
HTTP (HyperText Transfer Protocol) — это протокол интернета, который используется для передачи данных и работает по принципу обмена текстовыми сообщениями. Он обеспечивает связь между веб-клиентами и веб-серверами, позволяет просматривать страницы, загружать изображения, видео и другой контент.
В основе работы HTTP — модель «запрос-ответ». Браузер отправляет запрос серверу, а сервер возвращает релевантный ответ. Запросы могут быть разными — например, GET для получения страницы или POST для отправки данных. В ответ сервер передает не только содержимое, но и код состояния. Например, 200 означает, что все прошло успешно, 404 — страница не найдена, 500 — сервер выдает ошибку. Это позволяет понять статус обработки запроса.

HTTPS — по сути тот же протокол HTTP, только с фокусом на безопасность. Об этом говорит S («Secure») в аббревиатуре. В отличие от HTTP, HTTPS использует криптографические протоколы SSL/TLS (Secure Sockets Layer/Transport Layer Security) для шифрования данных и обеспечения безопасной связи между браузером пользователя и сервером.
При подключении к сайту происходит рукопожатие (handshake) TLS. Это процесс, в ходе которого клиент и сервер «договариваются» о параметрах защиты данных и формируют общий секретный ключ. Для протокола версии TLS 1.2 процесс рукопожатия выглядит так:
Handshake TLS
Для защиты данных используется два вида шифрования:
Схемы симметричного и асимметричного шифрования
Для наглядности сравнение протоколов по разным характеристикам — в таблице.
| Характеристика | HTTP | HTTPS |
| Полное название | HyperText Transfer Protocol | HyperText Transfer Protocol Secure |
| Используемый порт | 80 | 443 |
| Безопасность | Нет шифрования, данные передаются в открытом виде | Данные шифруются с помощью SSL/TLS |
| Конфиденциальность | Отсутствует | Обеспечивается — данные защищены от перехвата |
| Целостность данных | Не гарантируется | Гарантируется, данные не могут быть изменены в пути |
| Аутентификация сервера | Нет | Есть |
| Скорость передачи | Чуть быстрее, без накладных расходов на шифрование | Могут быть небольшие задержки из-за шифрования |
| Индикатор в браузере | Нет замка, иногда «Not Secure» | Замок в адресной строке, «Secure» |
HTTPS использует порт 443 для зашифрованных соединений, а HTTP — порт 80 для передачи данных в открытом виде. Браузеры определяют необходимость TLS-соединения по схеме URL (https://). Порт 443 является стандартным портом для HTTPS-соединений, но TLS может использоваться на любом TCP-порту.
Шифрование замедляет скорость соединения и вот почему:
Резюмируем — HTTPS чуть медленнее только при установке соединения, но при постоянных соединениях разница почти незаметна.
Уже понятно, что преимущества HTTPS связаны с шифрованием данных, а недостатки HTTP — с его отсутствием. Резюмируем сильные и слабые стороны протоколов.
Три главные проблемы, связанные с традиционным протоколом:
HTTPS отлично защищает канал связи «клиент-сервер», но сам сервер остается уязвимым для более масштабных атак. DDoS-атаки, направленные на превышение лимитов производительности или пропускной способности, могут сделать ваш сайт недоступным для всех пользователей, даже если их браузер показывает «защищенное» HTTPS-соединение.
Поэтому пока вы обеспечиваете шифрование трафика с помощью HTTPS, используйте специальный сервис Cloud.ru, который защищает инфраструктуру от сетевых и прикладных атак 7-го уровня (L7), которые имитируют поведение реальных пользователей.
Сильные стороны защищенного протокола:
Чтобы перейти с HTTP на HTTPS, нужно получить SSL/TLS-сертификат. Можно использовать бесплатный, например, Let’s Encrypt либо приобрести у аккредитованного центра сертификации. Сертификат нужно установить на сервер, после чего обновить внутренние ссылки с HTTP на HTTPS и настроить редиректы.
Сертификат — цифровой документ, который позволяет браузеру и серверу установить защищенное соединение.
У сертификата три задачи:
Если коротко, то сертификат делает соединение защищенным, приватным и доверенным.
Сертификаты классифицируют по уровню проверки, охвату доменов, используемым криптоалгоритмам. В таблице — основные типы.
| Тип сертификата | Описание | Примеры применения |
| DV (Domain Validation) | Подтверждают, что владелец домена контролирует его. Проверки компании нет | Сайты, блоги, небольшие проекты |
| OV (Organization Validation) | Подтверждают легальность организации | Корпоративные сайты, интернет-магазины |
| EV (Extended Validation) | Подтверждают право владения доменом, а также юридическую информацию об организации | Банки, финансовые организации |
| Сертификаты с ГОСТ | Используют алгоритмы ГОСТ Р 34.10-2012 / ГОСТ Р 34.11-2012 | Госорганы, банки |
Многие компании переходят на российские сертификаты, поскольку зарубежные в любой момент могут отозвать. Сейчас для массового использования доступна российская криптография (алгоритмы ГОСТ). Сертификаты поддерживают как ГОСТ, так и международные алгоритмы, чтобы сайты были совместимы с браузерами.
Краткий алгоритм действий:
Протокол HTTPS отличается от HTTP шифрованием данных с помощью SSL/TLS. Он обеспечивает конфиденциальность и целостность информации, защиту от перехвата и подделки. Если важны безопасность и доверие пользователей, рекомендуем использовать его. В первую очередь там, где обрабатываются личные данные или платежи.
.
Источник: https://cloud.ru/blog/protokoly-http-i-https