Шифрование
В 90-х годах прошлого века была разработана надстройка над протоколом HTTP, позволяющая шифровать соединение клиента с сервером. Тогда и добавили к аббревиатуре букву s, обозначающую “secure”, то есть “безопасный”. Идея была проста: защитить передаваемые данные от перехвата и изменения. И она была реализована с помощью протокола SSL. За последующие годы тот пережил несколько изменений и, наконец, уступил место протоколу TLS.
Менялась не только защита. Способы передачи данных тоже менялись, появились новые устройства и выросла популярность беспроводных сетей. Была разработана и альтернатива протоколу HTTP/1.1, господствующему на просторах интернета почти 15 лет. Новая версия должна была устранить узкие места своего предшественника. Это удалось разработчикам протокола HTTP/2. Он снижал нагрузку на сервер, что позволяло загружать сайты быстрее. А поскольку скорость - это хорошо, то HTTP/2 нужен для СЕО.
Поддержка
Но причем здесь HTTPS, о котором мы говорили в начале? Дело оказалось в реализации. Разработчики браузеров включили в свои продукты поддержку нового протокола с шифрованием, но поддержка его без шифрования так и осталась нереализованной. Так и получилось, что ускорить сайт переходом на новую технологию можно только подключением шифрования.
Так ли уж плохо пользователям от сложившейся ситуации? С одной стороны, владельцам блогов и новостных сайтов совершенно незачем шифровать соединения с клиентами. Вся информация предназначена для широкого круга читателей и не секретна. Но на таком сайте есть личный кабинет администратора, пароль от которого стоит защищать. Чего уж говорить об интернет-магазинах с онлайн-оплатой? Подключение HTTPS позволяет решить вопрос безопасности недорого и весьма эффективно. Выпускаются сертификаты зачастую бесплатно, а установку его на сервер берет на себя хостинг. Администратору сайта остается лишь отметить изменение протокола в настройках сайта.
Так и выходит, что одним выстрелом убиваем двух зайцев: и скорость поднимаем, и безопасность повышаем. Можно поспорить, что так не бывает. Либо скорость растет несущественно, либо безопасность фиктивная. Осветим оба пункта:
1. Скорость сайта
В давние годы для поднятия скорости сайтов применялись разные ухищрения. Сжатие данных, объединение и встраивание скриптов, спрайты для иконок, уменьшение размера картинок или вынос их на другой сервер. Нужно было не только оптимизировать качество соединений, но и обойти ограничение на их количество. Сайт, хорошо оптимизированный для работы со старым протоколом, будет также хорошо себя вести с новым. А вот если оптимизация не проводилась или была не достаточна, то выигрыш в скорости будет более очевидным.
2. Безопасность
Изначально шифрование осуществлялось при помощи SSL-сертификатов. После того, как была опровергнута взломоустойчивость SSL 3.0, перешли на TLS сертификаты. У них тоже менялись версии: 1.3 считается последней и наиболее надежной. Название у сертификатов осталось прежнее, несмотря на изменение сути. Вся работа по обеспечению безопасности ложится на сервер, а не на сайт. То есть гарантию дает хостер, если вы пользуетесь виртуальным хостингом, и ваш IT-специалист, если сервер свой или виртуальный. Следует добавить поддержку самого нового защищенного протокола, и отключить все старые и уязвимые. Современные браузеры TLS 1.3 уже поддерживают.
Если сертификат будет украден, он не будет работать на другом сайте, другом домене. Браузер выдаст предупреждение об их несоответствии и не откроет страницу.
Крайне важно отметить, что использование HTTP-ссылок внутри защищенного сайта снижает его защиту и производительность. Поэтому все скрипты, стили и медиа-файлы должны загружаться также по защищенному каналу, то есть через HTTPS.
Браузеры
Есть еще третий фактор: реакция браузеров. При открытии сайта, не использующего HTTPS, браузер сообщает, что соединение не зашифровано и потому может быть опасным. Это может отпугнуть внимательного пользователя. Кроме того, браузеры по умолчанию предлагают открывать сайты именно через защищенное соединение. И если такого нет, могут оставить пользователя без контента. То есть, к переходу на HTTPS нас подталкивают и браузеры.
Таким образом, переход на HTTPS - это нормальная эволюция Интернета, подразумевающая повышение качества участников. Современные браузеры у нас есть. А возможность сделать сайты надежными и быстрыми - в наших руках.