官术网_书友最值得收藏!

  • Mastering ASP.NET Web API
  • Mithun Pattankar Malendra Hurbuns
  • 239字
  • 2021-07-02 20:52:25

Version 2 of HTTP

HTTP/2 is an optimization of HTTP 1.1. Many browsers already support HTTP/2; your Chrome browser does that already.

HTTP/2 is a combination of two specifications: Hypertext Transfer Protocol version 2 (RFC7540) and HPACK- Header Compression for HTTP2 (RFC7541).

When using HTTP/2 over Transport Layer Security (TLS), "h2" is used to indicate the protocol.

The "h2c" string is used when HTTP/2 is used over clear text TCP or when HTTP.1.1 upgrades.

An example of a GET request is as follows:

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

-RCF 7540 Section 3.2

This request is from a client that does not know whether HTTP/2 is supported. It makes a HTTP 1.1 request, but includes an upgrade field in the header, "h2c", and at least one HTTP2-Settings header field:

A server that does not support HTTP/2 will respond as follows:

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

-RCF 7540 Section 3.2

This looks like a regular HTTP/1.1 response:

A server that does support HTTP/2 will respond as follows:

HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: h2c
[ HTTP/2 connection ...

-RCF 7540 Section 3.2

A frame is introduced as basis unit in HTTP2. You can think of a frame as a packet that is transferred over the wire. For requests and responses, the HEADER and DATA frames are used as the building blocks, and for HTTP/2 features, the frames are SETTINGS, WINDOWS_UPDATE, and PUSH_PROMISE.

主站蜘蛛池模板: 孙吴县| 延吉市| 湄潭县| 临潭县| 佛坪县| 城固县| 望江县| 武清区| 平凉市| 慈利县| 富锦市| 白朗县| 安溪县| 清水县| 泗阳县| 遂平县| 科尔| 南乐县| 巴林右旗| 华宁县| 东阳市| 工布江达县| 遂溪县| 大竹县| 临汾市| 福州市| 义乌市| 岱山县| 深圳市| 赤水市| 普兰县| 犍为县| 老河口市| 涡阳县| 昌乐县| 湖口县| 汝南县| 普兰店市| 含山县| 汤原县| 高清|