Ян Жабин "Преимущества использования протокола...

25
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.

Upload: provectus

Post on 15-Apr-2017

95 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Ян Жабин "Преимущества использования протокола HTTP/2"

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"

Provectus

PHP Java .NET Java

Script

Cloud Services

iOS Android Ruby J2EE QA

Provectus – международная R&D компания, предоставляющая полный комплекс услуг по разработке

программного обеспечения для корпоративного сегмента, мобильных платформ и WEB по всему

миру.

Page 3: Ян Жабин "Преимущества использования протокола HTTP/2"

О спикере

Ян Жабин

• Разработчик

www.provectus.com

Page 4: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP/2

Что мы узнаем

• Введение в HTTP - TCP/IP• HTTP 1.0• HTTP 1.1

• Недостатки протокола HTTP 1.1

• HTTP/2• Как использовать на практике

www.provectus.com

Page 5: Ян Жабин "Преимущества использования протокола HTTP/2"

TCP/IP

Принцип работы на пальцах

Работает по принципу ПОЧТЫ

Адрес отправителяОт кого: Яшка ИвановОткуда: ул. Пушкина, дом Колотушкина - кв. № 5

Адрес получателяКому: Ефим ПетровКуда: ул. Новый Мир, дом 4 - кв. 100

+содержимое письма

www.provectus.com

Page 6: Ян Жабин "Преимущества использования протокола HTTP/2"

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"

TCP

Тройное рукопожатие

www.provectus.com

ClientServer

y, x+1

SYNx

SYN ACK

ACKy+1

SYN — синхронизация номеров последовательности

ACK — поле «Номер подтверждения» задействовано

Page 8: Ян Жабин "Преимущества использования протокола HTTP/2"

ПРОТОКОЛЫ

Уровни

• IP - сетевой уровень. Отвечает только за доставку пакетов между

адресами.

• TCP/UDP - транспортный уровень. На этом уровне к пакету

добавляется порт отправителя и порт получателя.

HTTP - это просто следующий уровень.

www.provectus.com

Page 9: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP

www.provectus.com

Page 10: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP

Минутка анатомии протокола

Методы

www.provectus.com

GET, POST, PUT, DELETE, HEAD, OPTIONS и другие - указывают на действие которое нужно выполнить

Коды состояния1**, 2**, 3**, 4**, 5** - поясняет суть ответа

Заголовки (key-value)• Общие заголовки - например дата запроса или ответа• Заголовки запроса• Заголовки ответа• Сущности - мета информация (кодировка или тип)

Page 11: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP

Структура

www.provectus.com

• Стартовая строка• Заголовки

• Тело сообщения

GET /foo/bar HTTP/1.0 - стартовая строка Host: google.com - заголовок

HTTP/1.0 200 OK - ответ

Page 12: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP

Зачем?

www.provectus.com

Page 13: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP 1.0

Принцип работы (запрос - ответ)

www.provectus.com

ClientServeropen tcp connection

request

response

close connection

Page 14: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP 1.1

Принцип работы (запрос - ответ)

www.provectus.com

ClientServeropen tcp connection

request

response

close tcp connection (after 60-150s)

request

response

Page 15: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP 1.1

Недостатки

www.provectus.com

• Стареет (как и все мы с вами)

• Низкая скорость• Большее потребление ресурсов сервера • Влияет на разработку (оптимизации на клиенте). Например -

использование спрайтов.

• Блокировка начала строки (head-of-line blocking)

Page 16: Ян Жабин "Преимущества использования протокола HTTP/2"

Это что за покемон?

www.provectus.com

Page 17: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP/2

Фичи

www.provectus.com

• Основан на HTTP 1.1• Бинарный

• Мультиплексирование запросов или параллельная загрузка

• Приоритет потоков

• PUSH данные со стороны сервера• Сжатие заголовков специализированным протоколом HPACK

• Снижение нагрузки на сервер

• Хранит состояние между запросами

Page 18: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP/2

Принцип работы

www.provectus.com

Client

Server

open tcp connection

request

response

close tcp connection

request

response

Priority

push

Compression

Page 19: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP/2

www.provectus.com

Page 20: Ян Жабин "Преимущества использования протокола HTTP/2"

HTTP/2

Ограничения

www.provectus.com

• Не полностью поддерживается браузерами• Не полностью поддерживается веб-серверами• Работает только поверх TLS (https)

Page 21: Ян Жабин "Преимущества использования протокола HTTP/2"

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"

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"

HTTP 2.0

Выводы

www.provectus.com

Таки да - ИСПОЛЬЗОВАТЬ!

Page 24: Ян Жабин "Преимущества использования протокола HTTP/2"

Благодарю за внимание!

Вопросы?

www.provectus.com

Page 25: Ян Жабин "Преимущества использования протокола HTTP/2"

Ян Жабин

Skype: iyanello

Email: [email protected]

www.provectus.com

Контакты