В чем разница между HTTP 1.1 и HTTP 2.0? [закрыто]

223

HTTP / 1.1 хорошо работает в Интернете уже более пятнадцати лет, но его возраст начинает проявляться.

Кто-нибудь может объяснить, в чем основное различие между HTTP 1.1 и 2.0?

Есть ли какие-либо изменения в транспортном протоколе?

ivanleoncz
источник
1
daniel.haxx.se/http2/http2-v1.9.pdf Убедитесь сами, что нового в HTTP2
TylerH
1
это видео выглядит хорошо, чтобы поговорить на эти темы youtube.com/watch?v=0L5Q_897fwk
Гуджарат Сантана
Раздел «Введение» tools.ietf.org/html/rfc7540 является самым чистым и лучшим источником различий между HTTP 1.1 и HTTP 2.0
bayCoder

Ответы:

190

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

Подробнее здесь.

84RR1573R
источник
6
Просто чтобы добавить еще один, http / 2 также указывает push-запрос сервера. Подробнее об этом читайте здесь: en.wikipedia.org/wiki/HTTP/2_Server_Push
Nitin Bansal
87

HTTP 2.0 является двоичным протокол, который мультиплексирует многочисленные потоки, проходящие через одно (обычно TLS-шифрованное) TCP-соединение.

Содержимое каждого потока - это запросы и ответы HTTP 1.1, просто закодированные и упакованные по-разному. HTTP2 добавляет ряд функций для управления потоками, но оставляет старую семантику без изменений.

phihag
источник
41
TLS-шифрование не является обязательным. Это может быть необязательным по протоколу, но не в реальном мире. Chrome и другие браузеры не принимают http2 без https. Так что в реальном мире, если вы включите http2 без установки сертификата на вашем сервере, браузеры просто подключатся к http1.
Патрик Коллинз
@PatrickCollins На самом деле браузеры будут соединяться с HTTP2, но только начнут загрузку потока двоичных пакетов. Они просто не знают, как отображать содержимое HTTP2 без SSL.
Авамандер
3
Этот ответ вводит в заблуждение, утверждая, что http / 2 просто упаковывает и кодирует запросы http / 1.1. Есть конкретные различия. Например, заголовки отправляются отдельно от тела / полезной нагрузки. Также немного изменился формат заголовка - где в http / 1.x метод, uri, коды ответов и версии протокола передаются в первой строке, называемой строкой запроса. Http / 2 представляет концепцию psuedoheaders, помещенную перед всеми остальными заголовками и снабженную префиксом :для обработки этих аспектов, за исключением версии протокола, которая не имеет эквивалента в http / 2.
Erikest
2
Кроме того, хотя заголовки не чувствительны к регистру, протокол требует передачи в нижнем регистре.
Erikest