HTTP против HTTPS производительности - PullRequest
356 голосов
/ 29 сентября 2008

Существуют ли существенные различия в производительности между http и https? Кажется, я помню, что читал, что HTTPS может быть в пять раз быстрее, чем HTTP. Это действительно для веб-серверов / браузеров текущего поколения? Если да, то есть ли какие-либо технические документы для его поддержки?

Ответы [ 21 ]

4 голосов
/ 24 марта 2014

Я провел небольшой эксперимент и получил разницу во времени для того же изображения на 16% из flickr (233 КБ):

http://farm8.staticflickr.com/7405/13368635263_d792fc1189_b.jpg

https://farm8.staticflickr.com/7405/13368635263_d792fc1189_b.jpg

enter image description here

Конечно, эти цифры зависят от многих факторов, таких как производительность компьютера, скорость соединения, нагрузка на сервер, QoS на пути (конкретный сетевой путь от браузера к серверу), но это показывает общую идею: HTTPS медленнее, чем HTTP , поскольку он запрашивает больше операций для завершения (подтверждение связи SSL и кодирование / декодирование данных).

3 голосов
/ 01 декабря 2013

Вот отличная статья (немного старая, но все же отличная) о задержке рукопожатия SSL. Помог мне определить SSL как основную причину медлительности для клиентов, которые использовали мое приложение через медленные интернет-соединения:

http://www.semicomplete.com/blog/geekery/ssl-latency.html

2 голосов
/ 08 октября 2014

Здесь, кажется, есть неприятный крайний случай: Ajax по перегруженному Wi-Fi.

Ajax обычно означает, что время ожидания KeepAlive истекло, скажем, через 20 секунд. Тем не менее, Wi-Fi означает, что (в идеале быстрое) Ajax-соединение должно совершать несколько циклов. Хуже того, Wi-Fi часто теряет пакеты, и есть TCP повторных передач. В этом случае HTTPS работает действительно очень плохо!

2 голосов
/ 11 июля 2013

TLS еще быстр? Да.

Есть много проектов, которые стремятся размыть линии и сделать HTTPS столь же быстрым. Как SPDY и mod-spdy .

2 голосов
/ 09 мая 2013

Поскольку я исследую ту же проблему для своего проекта, я нашел эти слайды. Старше, но интересно:

http://www.cs.nyu.edu/artg/research/comparison/comparison_slides/sld001.htm

2 голосов
/ 19 января 2016

Сравнение производительности HTTP и HTTPS

Я всегда ассоциировал HTTPS с более медленным временем загрузки страницы по сравнению с обычным старым HTTP. Как веб-разработчик, для меня важна производительность веб-страниц, и все, что замедляет производительность моих веб-страниц, - нет-нет.

Чтобы понять связанные с производительностью последствия, приведенная ниже диаграмма дает вам базовое представление о том, что происходит под капотом, когда вы делаете запрос на ресурс с использованием HTTPS.

enter image description here

Как видно из диаграммы выше, при использовании HTTPS необходимо выполнить несколько дополнительных шагов по сравнению с обычным HTTP. Когда вы делаете запрос с использованием HTTPS, необходимо выполнить рукопожатие, чтобы проверить подлинность запроса. Это рукопожатие является дополнительным шагом по сравнению с HTTP-запросом и, к сожалению, требует некоторых затрат.

Чтобы понять последствия для производительности и лично убедиться, будет ли влияние на производительность значительным, я использовал этот сайт в качестве платформы для тестирования. Я направился на webpagetest.org и использовал инструмент визуального сравнения, чтобы сравнить загрузку этого сайта с использованием HTTPS против HTTP.

Как видно из Вот результат теста видео Использование HTTPS оказало влияние на время загрузки моей страницы, однако разница незначительна, и я заметил только разницу в 300 миллисекунд. Важно отметить, что это время зависит от многих факторов, таких как производительность компьютера, скорость соединения, нагрузка на сервер и расстояние от сервера.

Ваш сайт может отличаться, и важно тщательно протестировать его и проверить влияние на производительность, связанную с переходом на HTTPS.

МОЖЕМ МЫ УЛУЧШИТЬ ЭФФЕКТИВНОСТЬ? посетите здесь , чтобы получить подробную информацию

0 голосов
/ 29 сентября 2008

HTTPS имеет издержки шифрования / дешифрования, поэтому он всегда будет немного медленнее. Завершение SSL очень загружает процессор. Если у вас есть устройства для разгрузки SSL, разница в задержках может быть едва заметна в зависимости от нагрузки на ваши серверы.

0 голосов
/ 29 сентября 2008

Более важное различие в производительности заключается в том, что сеанс HTTPS остается открытым, пока пользователь подключен. HTTP-сессия длится только для одного запроса элемента.

Если вы работаете с сайтом с большим количеством одновременно работающих пользователей, ожидайте покупки большого количества памяти.

0 голосов
/ 29 сентября 2008

Есть способ измерить это. Инструмент от Apache под названием jmeter будет измерять пропускную способность. Если вы настроили большую выборку вашего сервиса с помощью jmeter, в контролируемой среде, с использованием SSL и без него, вы должны получить точное сравнение относительной стоимости. Мне были бы интересны ваши результаты.

0 голосов
/ 18 февраля 2018

Браузеры могут принимать протокол HTTP / 1.1 с HTTP или HTTPS, но браузеры могут обрабатывать только протокол HTTP / 2.0 с HTTPS. Различия в протоколах от HTTP / 1.1 до HTTP / 2.0 делают HTTP / 2.0 в среднем в 4-5 раз быстрее, чем HTTP / 1.1. Кроме того, большинство сайтов используют протокол HTTPS по протоколу HTTP / 2.0. Поэтому HTTPS почти всегда будет работать быстрее, чем HTTP, просто из-за другого протокола, который он обычно использует. Однако если сравнивать HTTP через HTTP / 1.1 с HTTPS через HTTP / 1.1, то HTTP в среднем немного быстрее, чем HTTPS.

Вот несколько сравнений, которые я провел с помощью Chrome (версия 64):

HTTPS через HTTP / 1.1:

  • 0,47 секунды среднее время загрузки страницы
  • 0,05 секунды медленнее, чем HTTP по HTTP / 1,1
  • 0,37 секунды медленнее, чем HTTPS через HTTP / 2.0

HTTP через HTTP / 1.1

  • Среднее время загрузки страницы 0,42 секунды
  • 0,05 секунды быстрее, чем HTTPS через HTTP / 1,1
  • 0,32 секунды медленнее, чем HTTPS, по HTTP / 2.0

HTTPS через HTTP / 2.0

  • 0,10 секунды, среднее время загрузки
  • 0,32 секунды быстрее, чем HTTP через HTTP / 1,1
  • 0,37 секунды быстрее, чем HTTPS через HTTPS / 1,1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...