Простое сравнение http https http2

HTTP

http

Протокол передачи гипертекста(HTTP) — это протокол прикладного уровня для передачи гипермедиа-документов, таких как HTML. Он предназначен для связи между веб-браузерами и веб-серверами, но может использоваться и для других целей. HTTP следует классической модели клиент-сервер, когда клиент открывает соединение для выполнения запроса, а затем ожидает получения ответа на стороне сервера. HTTP — это протокол без сохранения состояния, что означает, что сервер не сохраняет никаких данных (состояния) между двумя запросами. Хотя обычно он основан на уровне TCP/IP, его можно использовать на любом надежном транспортном уровне, то есть на протоколе, который не теряет сообщения без вывода сообщений, например UDP.


эпоха http1.0

На сетевой HTTP-запрос влияют два основных фактора: пропускная способность и задержка.

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

  • Задерживать:

    • Блокировка браузера (блокировка HOL): Браузер по какой-то причине блокирует запрос. Для одного и того же доменного имени браузер может иметь только 4 подключения одновременно (это может варьироваться в зависимости от ядра браузера).Если максимальное количество подключений браузера превышено, последующие запросы будут заблокированы.
    • DNS Lookup: Браузер должен знать IP-адрес целевого сервера, чтобы установить соединение. Система, которая разрешает доменные имена в IP-адреса, называется DNS. Обычно этого можно достичь, используя результаты кэширования DNS, чтобы сократить это время.
    • Установить соединение (начальное соединение): HTTP основан на протоколе TCP, и браузер может отправлять сообщения HTTP-запроса только при третьем рукопожатии самое раннее, чтобы установить реальное соединение, но невозможность повторного использования этих соединений приведет к тому, что каждый запрос будет иметь три рукопожатия и медленный запуск. вверх. Трехстороннее рукопожатие оказывает существенное влияние на сценарии с высокой задержкой, в то время как медленный запуск оказывает большее влияние на запросы больших файлов.

главное отличие

HTTP1.0 был впервые использован на веб-страницах в 1996 году. В то время он использовался только на некоторых относительно простых веб-страницах и сетевых запросах, в то время как HTTP1.1 начал широко использоваться в текущих основных сетевых запросах браузера в 1999 году. В то же время HTTP1.1 также является наиболее широко используемым протоколом HTTP. Основные отличия в основном отражаются в:

  1. Обработка кеша, В HTTP1.0 If-Modified-Since и Expires в заголовке в основном используются в качестве стандарта для оценки кеша, HTTP1.1 вводит больше стратегий управления кешем, таких как тег Entity, If-Unmodified-Since, If-Match, If -None-Match и другие необязательные заголовки кэша для управления стратегией кэширования.

  2. Оптимизация пропускной способности и использование интернет-соединений, В HTTP1.0 есть некоторые явления траты полосы пропускания.Например, клиенту нужна только часть объекта, а сервер отправляет объект целиком, и не поддерживает функцию возобновления загрузки.В HTTP1.1 , заголовок запроса Введено поле заголовка диапазона, позволяющее запрашивать только определенную часть ресурса, то есть код возврата 206 (Partial Content), что облегчает свободный выбор разработчиков для полного использования пропускной способности и связи.

  3. Управление уведомлениями об ошибках, в HTTP1.1 было добавлено 24 новых кода ответа об ошибке, например 409 (конфликт), указывающий, что запрошенный ресурс конфликтует с текущим состоянием ресурса, 410 (исчез), указывающий, что ресурс на сервере окончательно удален.

  4. Обработка заголовка хоста, в HTTP 1.0 каждый сервер считается привязанным к уникальному IP-адресу, поэтому URL-адрес в сообщении запроса не передает имя хоста (имя хоста). Но с развитием технологии виртуальных хостов на физическом сервере может быть несколько виртуальных хостов (многосетевых веб-серверов), и они имеют общий IP-адрес. Сообщение запроса и ответное сообщение HTTP1.1 должны поддерживать поле заголовка узла, и если в сообщении запроса нет поля заголовка узла, будет сообщено об ошибке (400 Bad Request).

  5. Длинное соединение, HTTP 1.1 поддерживает постоянное соединение (PersistentConnection) и обработку конвейера запросов (Pipelining), несколько HTTP-запросов и ответов могут быть переданы по одному TCP-соединению, что снижает потребление и задержку при установлении и закрытии соединений и включено по умолчанию в HTTP1.1 Connection. : keep-alive в определенной степени компенсирует недостатки HTTP1.0 в создании соединения для каждого запроса.


Https

HTTP Strict Transport Security(часто сокращенно HSTS) — это функция безопасности, которая сообщает браузеру о доступе к текущему ресурсу только через HTTPS, запрещая метод HTTP.

Strict Transport Security решает эту проблему; пока вы получаете доступ к веб-сайту банка через HTTPS-запросы, а веб-сайт банка настроен с использованием Strict Transport Security, ваш браузер автоматически использует HTTPS-запросы, что предотвращает хакеров от посредника. атаки.

Включить строгую транспортную безопасность

Включение HSTS требует только возврата HTTP-заголовка Strict-Transport-Security при доступе к вашему веб-сайту через HTTPS: Строгая транспортная безопасность: max-age=expireTime [; includeSubdomains]


Некоторые различия между HTTPS и HTTP

  1. Протокол HTTPS должен обратиться в ЦС для подачи заявки на сертификат.Как правило, бесплатных сертификатов немного, и вам нужно платить комиссию.
  2. Протокол HTTP работает поверх TCP, весь передаваемый контент представляет собой открытый текст, HTTPS работает поверх SSL/TLS, SSL/TLS работает поверх TCP, и весь передаваемый контент зашифрован.
  3. HTTP и HTTPS используют совершенно разные методы подключения и используют разные порты: первый — 80, а второй — 443.
  4. HTTPS может эффективно предотвратить перехват трафика операторами и решить серьезную проблему защиты от перехвата.

image

Ускорьте свой сайт с SPDY

В 2012 году Google как гром предложил решение SPDY, и все начали смотреть и решать проблемы старой версии самого протокола HTTP.Можно сказать, что SPDY — это протокол передачи, который объединяет как HTTPS, так и HTTP. решения:

  1. меньшая задержка, для решения проблемы высокой задержки HTTP SPDY элегантно использует мультиплексирование. Мультиплексирование решает проблему блокировки HOL, разделяя TCP-соединение для нескольких потоков запросов, уменьшая задержку и улучшая использование полосы пропускания.
  2. приоритет запроса(запрос приоритета). Новая проблема, связанная с мультиплексированием, заключается в том, что оно может привести к блокировке критически важных запросов на основе совместного использования соединения. SPDY позволяет установить приоритет для каждого запроса, чтобы на важные запросы отвечали первыми. Например, когда браузер загружает домашнюю страницу, сначала должно отображаться html-содержимое домашней страницы, а затем загружаются различные статические файлы ресурсов, файлы сценариев и т. д., чтобы пользователи могли видеть содержимое страницы. веб-страницу в первый раз.
  3. сжатие заголовка. Как упоминалось ранее, заголовки HTTP1.x часто избыточны. Выбор подходящего алгоритма сжатия может уменьшить размер и количество пакетов.
  4. Передача зашифрованного протокола на основе HTTPS, значительно повышая надежность передачи данных.
  5. пуш сервера, веб-страница, которая использует SPDY, например, моя веб-страница имеет запрос на sytle.css. Когда клиент получает данные sytle.css, сервер передает файл sytle.js клиенту. Когда клиент пытается снова Когда вы получить sytle.js, вы можете получить его прямо из кеша, не отправляя запрос. Схема состава СПДИ:

image

SPDY находится под HTTP, над TCP и SSL, поэтому он может быть легко совместим со старой версией протокола HTTP (инкапсулирует содержимое HTTP1.x в новый формат кадра) и может одновременно использовать существующую функцию SSL. время.

HTTP2

Можно сказать, что HTTP2.0 является обновленной версией SPDY (на самом деле, он изначально был разработан на основе SPDY), но между HTTP2.0 и SPDY все еще есть различия, в основном в следующих двух пунктах.

● HTTP2.0 поддерживает передачу открытого текста по протоколу HTTP, а SPDY принудительно использует протокол HTTPS.

● Алгоритм сжатия заголовка сообщения HTTP2.0 использует HPACK вместо DEFLATE, принятого SPDY.

Что нового в http2

Новый двоичный формат (Binary Format), синтаксический анализ HTTP1.x основан на тексте. Парсинг формата на основе текстового протокола имеет естественные дефекты Представление текста разнообразно Должно быть много сценариев для рассмотрения робастности Двоичный отличается, распознается только комбинация 0 и 1. Основываясь на этом соображении, при анализе протокола HTTP2.0 было принято решение использовать двоичный формат, который удобен и надежен в реализации.

Мультиплексирование (мультиплексирование), то есть совместное использование соединения, то есть каждый запрос используется как механизм совместного использования соединения. Запрос соответствует идентификатору, поэтому в соединении может быть несколько запросов, и запросы каждого соединения могут быть случайным образом смешаны вместе. Схема мультиплексирования:

image

сжатие заголовка, как было сказано выше, заголовок HTTP1.x, упомянутый выше, содержит много информации, и ее приходится каждый раз повторно отправлять.HTTP2.0 использует кодировщик для уменьшения размера заголовка, который необходимо передать, причем обе стороны сообщения каждый кэш поля заголовка Таблица не только позволяет избежать передачи повторяющихся заголовков, но и уменьшает размер передачи.

пуш сервера, Как и SPDY, HTTP2.0 также имеет функцию отправки на сервер. В настоящее время на большинстве веб-сайтов включен HTTP2.0, таких как YouTube, Taobao и др. Вы можете использовать консоль Chrome, чтобы проверить, включен ли H2:

chrome=>Network=>Name栏右键=>√Protocol

Цитировать

После просмотра последней небольшой рекламы

蚂蚁金服,RichLab(支付宝花呗借呗团队) 招人啦,p5-p8 都要,应届生可以,
base:重庆,杭州,北京;
毕竟我是西南张家辉,优先推重庆滴,有四川和重庆人,或者想感受重庆风情的同学欢迎来撩;
绿色软件:Lpovexjn