架构前端都会去了解的程序员

HTTP2 协议前瞻

2015-11-15  本文已影响217人  KeKeMars

HTTP/2 优势

HTTP/2 底层数据格式 Frame(分为 HEADERS frame DATA frame)

+-----------------------------------------------+
|                 Length (24)                   |
+---------------+---------------+---------------+
|   Type (8)    |   Flags (8)   |
+-+-------------+---------------+-------------------+
|R|                 Stream Identifier (31)          |
+=+=================================================+
|                   Frame Payload (0...)        ...
+---------------------------------------------------+

HTTP/2 兼容 HTTP/1.x

非加密HTTP兼容

利用HTTP/1.xUpgrade进行兼容
Request

GET / HTTP/1.1
Host: server.example.com
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: <base64url encoding of HTTP/2 SETTINGS payload>

Response
服务端支持HTTP/2

HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: h2c

[ HTTP/2 connection ...

服务端不支持HTTP/2

HTTP/1.1 200 OK
Content-Length: 243
Content-Type: text/html
...

经由代理流如服务端, 如果代理不支持HTTP/2, 会将Request Header中的关于HTTP/2的头信息去除, 变成HTTP/1.x请求

加密TLS兼容

TLS-ALPN定义了在TLS握手阶段完成兼容性协定, 可以直接收发HTTP/2

参考

上一篇 下一篇

猜你喜欢

热点阅读