Ян Жабин "Преимущества использования протокола HTTP/2"
-
Upload
provectus -
Category
Technology
-
view
97 -
download
3
Transcript of Ян Жабин "Преимущества использования протокола HTTP/2"
![Page 1: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/1.jpg)
Get treated to white glove service
from a five-star innovator
www.provectus.com
A presentation of expertise we boast and services we render for
partners across the board, around the globe. © Provectus, Inc.
![Page 2: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/2.jpg)
Provectus
PHP Java .NET Java
Script
Cloud Services
iOS Android Ruby J2EE QA
Provectus – международная R&D компания, предоставляющая полный комплекс услуг по разработке
программного обеспечения для корпоративного сегмента, мобильных платформ и WEB по всему
миру.
![Page 3: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/3.jpg)
О спикере
Ян Жабин
• Разработчик
www.provectus.com
![Page 4: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/4.jpg)
HTTP/2
Что мы узнаем
• Введение в HTTP - TCP/IP• HTTP 1.0• HTTP 1.1
• Недостатки протокола HTTP 1.1
• HTTP/2• Как использовать на практике
www.provectus.com
![Page 5: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/5.jpg)
TCP/IP
Принцип работы на пальцах
Работает по принципу ПОЧТЫ
Адрес отправителяОт кого: Яшка ИвановОткуда: ул. Пушкина, дом Колотушкина - кв. № 5
Адрес получателяКому: Ефим ПетровКуда: ул. Новый Мир, дом 4 - кв. 100
+содержимое письма
www.provectus.com
![Page 6: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/6.jpg)
TCP/IP
Принцип работы на пальцах
www.provectus.com
Source addressIP: 192.0.0.1Port: 80
Destination addressIP: 192.0.0.2Port: 8080
+
Данные пакета (и служебная информация)
IP(Internet Protocol Address) + PORT = cокет
![Page 7: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/7.jpg)
TCP
Тройное рукопожатие
www.provectus.com
ClientServer
y, x+1
SYNx
SYN ACK
ACKy+1
SYN — синхронизация номеров последовательности
ACK — поле «Номер подтверждения» задействовано
![Page 8: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/8.jpg)
ПРОТОКОЛЫ
Уровни
• IP - сетевой уровень. Отвечает только за доставку пакетов между
адресами.
• TCP/UDP - транспортный уровень. На этом уровне к пакету
добавляется порт отправителя и порт получателя.
HTTP - это просто следующий уровень.
www.provectus.com
![Page 9: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/9.jpg)
HTTP
www.provectus.com
![Page 10: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/10.jpg)
HTTP
Минутка анатомии протокола
Методы
www.provectus.com
GET, POST, PUT, DELETE, HEAD, OPTIONS и другие - указывают на действие которое нужно выполнить
Коды состояния1**, 2**, 3**, 4**, 5** - поясняет суть ответа
Заголовки (key-value)• Общие заголовки - например дата запроса или ответа• Заголовки запроса• Заголовки ответа• Сущности - мета информация (кодировка или тип)
![Page 11: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/11.jpg)
HTTP
Структура
www.provectus.com
• Стартовая строка• Заголовки
• Тело сообщения
GET /foo/bar HTTP/1.0 - стартовая строка Host: google.com - заголовок
HTTP/1.0 200 OK - ответ
![Page 12: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/12.jpg)
HTTP
Зачем?
www.provectus.com
![Page 13: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/13.jpg)
HTTP 1.0
Принцип работы (запрос - ответ)
www.provectus.com
ClientServeropen tcp connection
request
response
close connection
![Page 14: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/14.jpg)
HTTP 1.1
Принцип работы (запрос - ответ)
www.provectus.com
ClientServeropen tcp connection
request
response
close tcp connection (after 60-150s)
request
response
![Page 15: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/15.jpg)
HTTP 1.1
Недостатки
www.provectus.com
• Стареет (как и все мы с вами)
• Низкая скорость• Большее потребление ресурсов сервера • Влияет на разработку (оптимизации на клиенте). Например -
использование спрайтов.
• Блокировка начала строки (head-of-line blocking)
![Page 16: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/16.jpg)
Это что за покемон?
www.provectus.com
![Page 17: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/17.jpg)
HTTP/2
Фичи
www.provectus.com
• Основан на HTTP 1.1• Бинарный
• Мультиплексирование запросов или параллельная загрузка
• Приоритет потоков
• PUSH данные со стороны сервера• Сжатие заголовков специализированным протоколом HPACK
• Снижение нагрузки на сервер
• Хранит состояние между запросами
![Page 18: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/18.jpg)
HTTP/2
Принцип работы
www.provectus.com
Client
Server
open tcp connection
request
response
close tcp connection
request
response
Priority
push
Compression
![Page 19: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/19.jpg)
HTTP/2
www.provectus.com
![Page 20: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/20.jpg)
HTTP/2
Ограничения
www.provectus.com
• Не полностью поддерживается браузерами• Не полностью поддерживается веб-серверами• Работает только поверх TLS (https)
![Page 21: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/21.jpg)
HTTP/2
Установка и настройка NGINX (1.10^)
www.provectus.com
Ubuntu $ sudo apt-get update $ sudo apt-get install nginx
Mac $ brew install nginx
--with-http_v2_module
Config
server { listen 443 ssl http2;
ssl_certificate server.crt; ssl_certificate_key server.key; }
![Page 22: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/22.jpg)
HTTP/2
Установка и настройка APACHE (2.4.17^)
www.provectus.com
Ubuntu $ sudo apt-get update $ sudo apt-get install apache2
Mac $ brew tap homebrew/apache $ brew update $ brew install httpd24
Config
Protocols h2 h2c http/1.1 SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
$ sudo a2enmod http2
![Page 23: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/23.jpg)
HTTP 2.0
Выводы
www.provectus.com
Таки да - ИСПОЛЬЗОВАТЬ!
![Page 24: Ян Жабин "Преимущества использования протокола HTTP/2"](https://reader035.fdocuments.net/reader035/viewer/2022062316/5876e66f1a28ab046d8b6161/html5/thumbnails/24.jpg)
Благодарю за внимание!
Вопросы?
www.provectus.com