HTTPS - это зашифрованная версия HTTP, и в настоящее время обычной практикой становится шифрование всего веб-трафика, а не только конфиденциального.
Недостатком HTTPS, помимо необходимости покупать дорогостоящие сертификаты и зависимости от стороннего центра сертификации, является повышенная загрузка ЦП (для фактического шифрования) и потребление полосы пропускания (для согласования дополнительных протоколов).
Эти накладные расходы являются не только проблемой на стороне сервера, но и более высокой задержкой, воспринимаемой клиентом.
Каковы фактические накладные расходы с точки зрения загрузки ЦП, полосы пропускания и задержки?
Каковы современные достижения (в области программного обеспечения, оборудования и передовых методов) для сокращения этих накладных расходов?
Цена : Есть куча центров сертификации и реселлеров, которые предоставляют хорошо поддерживаемые сертификаты SSL, которые доступны даже для веб-сайта рецептов вашей мамы, не говоря уже о бизнес-использовании. Помимо пары бесплатных, как в пиве, другие все равно дешевле пинты. Так что никаких проблем.
Задержка увеличивается при переходе на HTTPS : для первоначального подтверждения SSL требуется два дополнительных обхода до установления соединения по сравнению с одним обходом, необходимым для установления TCP-соединения с обычным незашифрованным портом HTTP. Таким образом, первые данные будут получены вашими пользователями в три раза дольше.
Увеличение пропускной способности : Используемая полоса пропускания немного увеличится, поскольку размер заголовка увеличится на несколько байтов по причинам протокола, а эффективная полезная нагрузка уменьшится из-за накладных расходов на кадрирование, а некоторые шифры также будут использовать заполнение. Предположим, что общий размер пакета MTU составляет 1500 байтов; служебные данные протокола HTTPS по-прежнему будут оставлять не менее 1400 байт эффективного размера данных полезной нагрузки, поэтому пропускная способность увеличивается максимум на 6-7%.
Загрузка процессора : Наиболее затратная часть вычислений - это обмен открытым ключом, после которого используется относительно эффективный симметричный шифр. Большинство цитат предполагают, что современное массовое оборудование не требует разгрузочных карт SSL для устранения этих накладных расходов.
В январе этого года (2010) Gmail по умолчанию перешел на использование HTTPS для всего. Раньше это было опционально, но теперь все наши пользователи постоянно используют HTTPS для защиты своей электронной почты между браузерами и Google. Для этого нам не пришлось развертывать дополнительные машины и специальное оборудование. На наших рабочих интерфейсных машинах SSL / TLS составляет менее 1% загрузки ЦП, менее 10 КБ памяти на каждое соединение и менее 2% сетевых накладных расходов. Многие люди считают, что SSL / TLS отнимает много процессорного времени, и мы надеемся, что приведенные выше цифры (впервые опубликованные) помогут развеять это.
Если вы перестанете читать сейчас, вам нужно запомнить только одну вещь: SSL / TLS больше не требует больших вычислительных затрат. - Адам Лэнгли (Google)
Хороший ресурс - это глава 4 из Высокопроизводительная сеть браузера Илья Григорик
В заключение, накладные расходы, за исключением задержки при установлении нового соединения, незначительны.
Что лучше, это зависит от ваших потребностей ... Использование CDN может стать дороже, например, если вам также понадобится поддержка SSL.