Чим відрізняється HTTP 1.1 від HTTP 2.0? [зачинено]


223

HTTP / 1.1 добре обслуговує Інтернет більше п'ятнадцяти років, але його вік починає проявлятися.

Хтось може пояснити, в чому полягає основна відмінність HTTP 1.1 від 2.0?

Чи є якісь зміни в транспортному протоколі?


1
daniel.haxx.se/http2/http2-v1.9.pdf Перевірте самі, що нового в HTTP2
TylerH

1
Це відео виглядає добре, щоб поговорити на ці теми youtube.com/watch?v=0L5Q_897fwk
Гуджарат Сантана

Розділ "Вступ" інструментів.ietf.org/ html/rfc7540 є найчистішим та найкращим джерелом різниці між HTTP 1.1 та HTTP 2.0
bayCoder

Відповіді:


190

HTTP / 2 підтримує запити мультиплексування, стиснення заголовків, пріоритетність та більш інтелектуальне управління потоковою передачею пакетів. Це призводить до скорочення затримки та прискорює завантаження вмісту на сучасні веб-сторінки.

Детальніше тут.


6
Просто для додавання ще одного, http / 2 також визначає натиск сервера. Детальніше про це читайте тут: en.wikipedia.org/wiki/HTTP/2_Server_Push
Нітін Бансал

87

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

Вміст кожного потоку - це запити та відповіді HTTP 1.1, щойно закодовані та упаковані по-різному. HTTP2 додає ряд функцій для управління потоками, але стару семантику залишає недоторканою.


41
Шифрування TLS не є обов'язковим. Це може бути необов’язковим за протоколом, але не в реальному світі. Chrome та інші веб-переглядачі не прийматимуть http2 без https. Тож у реальному світі, якщо ви ввімкнете http2, не встановлюючи cert на своєму сервері, браузери просто з’єднаються з http1.
Патрік Коллінз

@PatrickCollins Насправді браузери підключаться до HTTP2, але просто ініціюють завантаження потоку двійкових пакетів. Вони просто не знають, як відображати вміст HTTP2 без SSL.
Авамандер

3
Ця відповідь вводить в оману в твердженні, що http / 2 просто пакує і кодує http / 1.1 запити. Існують конкретні відмінності. Наприклад, заголовки надсилаються окремо від тіла / корисного навантаження. Також формат заголовка трохи змінився - де в http / 1.x метод, uri, коди відповідей та версії протоколу передаються в перший рядок, який називається рядком запиту. Http / 2 вводить концепцію psuedoheaders, що ставиться перед усіма іншими заголовками і має префікс a :для обробки цих аспектів, за винятком версії протоколу, яка не має еквівалента в http / 2.
Ерікест

2
Крім того, хоча заголовки не залежать від регістру, протокол вимагає передачі з малої літери.
Ерікест
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.