[Docs] [txt|pdf|xml] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits] [IPR]
Versions: (draft-mbelshe-httpbis-spdy) 00 01
02 03 04 05 06 07 08 09 10 11 12 13
14 15 16 17
HTTPbis Working Group M. Belshe
Internet-Draft Twist
Intended status: Standards Track R. Peon
Expires: August 15, 2015 Google, Inc
M. Thomson, Ed.
Mozilla
February 11, 2015
Hypertext Transfer Protocol version 2
draft-ietf-httpbis-http2-17
Abstract
This specification describes an optimized expression of the semantics
of the Hypertext Transfer Protocol (HTTP). HTTP/2 enables a more
efficient use of network resources and a reduced perception of
latency by introducing header field compression and allowing multiple
concurrent exchanges on the same connection. It also introduces
unsolicited push of representations from servers to clients.
This specification is an alternative to, but does not obsolete, the
HTTP/1.1 message syntax. HTTP's existing semantics remain unchanged.
Editorial Note (To be removed by RFC Editor)
Discussion of this draft takes place on the HTTPBIS working group
mailing list (ietf-http-wg@w3.org), which is archived at [1].
Working Group information can be found at [2]; that specific to
HTTP/2 are at [3].
The changes in this draft are summarized in Appendix B.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
Belshe, et al. Expires August 15, 2015 [Page 1]
Internet-Draft HTTP/2 February 2015
This Internet-Draft will expire on August 15, 2015.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. HTTP/2 Protocol Overview . . . . . . . . . . . . . . . . . . 5
2.1. Document Organization . . . . . . . . . . . . . . . . . . 6
2.2. Conventions and Terminology . . . . . . . . . . . . . . . 6
3. Starting HTTP/2 . . . . . . . . . . . . . . . . . . . . . . . 7
3.1. HTTP/2 Version Identification . . . . . . . . . . . . . . 8
3.2. Starting HTTP/2 for "http" URIs . . . . . . . . . . . . . 9
3.2.1. HTTP2-Settings Header Field . . . . . . . . . . . . . 10
3.3. Starting HTTP/2 for "https" URIs . . . . . . . . . . . . 11
3.4. Starting HTTP/2 with Prior Knowledge . . . . . . . . . . 11
3.5. HTTP/2 Connection Preface . . . . . . . . . . . . . . . . 11
4. HTTP Frames . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1. Frame Format . . . . . . . . . . . . . . . . . . . . . . 13
4.2. Frame Size . . . . . . . . . . . . . . . . . . . . . . . 14
4.3. Header Compression and Decompression . . . . . . . . . . 14
5. Streams and Multiplexing . . . . . . . . . . . . . . . . . . 15
5.1. Stream States . . . . . . . . . . . . . . . . . . . . . . 16
5.1.1. Stream Identifiers . . . . . . . . . . . . . . . . . 21
5.1.2. Stream Concurrency . . . . . . . . . . . . . . . . . 22
5.2. Flow Control . . . . . . . . . . . . . . . . . . . . . . 23
5.2.1. Flow Control Principles . . . . . . . . . . . . . . . 23
5.2.2. Appropriate Use of Flow Control . . . . . . . . . . . 24
5.3. Stream priority . . . . . . . . . . . . . . . . . . . . . 25
5.3.1. Stream Dependencies . . . . . . . . . . . . . . . . . 25
5.3.2. Dependency Weighting . . . . . . . . . . . . . . . . 26
5.3.3. Reprioritization . . . . . . . . . . . . . . . . . . 27
5.3.4. Prioritization State Management . . . . . . . . . . . 27
5.3.5. Default Priorities . . . . . . . . . . . . . . . . . 29
5.4. Error Handling . . . . . . . . . . . . . . . . . . . . . 29
Belshe, et al. Expires August 15, 2015 [Page 2]
Internet-Draft HTTP/2 February 2015
5.4.1. Connection Error Handling . . . . . . . . . . . . . . 29
5.4.2. Stream Error Handling . . . . . . . . . . . . . . . . 30
5.4.3. Connection Termination . . . . . . . . . . . . . . . 30
5.5. Extending HTTP/2 . . . . . . . . . . . . . . . . . . . . 30
6. Frame Definitions . . . . . . . . . . . . . . . . . . . . . . 31
6.1. DATA . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2. HEADERS . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.3. PRIORITY . . . . . . . . . . . . . . . . . . . . . . . . 35
6.4. RST_STREAM . . . . . . . . . . . . . . . . . . . . . . . 36
6.5. SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . 37
6.5.1. SETTINGS Format . . . . . . . . . . . . . . . . . . . 38
6.5.2. Defined SETTINGS Parameters . . . . . . . . . . . . . 38
6.5.3. Settings Synchronization . . . . . . . . . . . . . . 40
6.6. PUSH_PROMISE . . . . . . . . . . . . . . . . . . . . . . 40
6.7. PING . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.8. GOAWAY . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.9. WINDOW_UPDATE . . . . . . . . . . . . . . . . . . . . . . 46
6.9.1. The Flow Control Window . . . . . . . . . . . . . . . 47
6.9.2. Initial Flow Control Window Size . . . . . . . . . . 48
6.9.3. Reducing the Stream Window Size . . . . . . . . . . . 49
6.10. CONTINUATION . . . . . . . . . . . . . . . . . . . . . . 49
7. Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . 50
8. HTTP Message Exchanges . . . . . . . . . . . . . . . . . . . 51
8.1. HTTP Request/Response Exchange . . . . . . . . . . . . . 51
8.1.1. Upgrading From HTTP/2 . . . . . . . . . . . . . . . . 53
8.1.2. HTTP Header Fields . . . . . . . . . . . . . . . . . 53
8.1.3. Examples . . . . . . . . . . . . . . . . . . . . . . 57
http2文档报文及分析
需积分: 50 5 浏览量
2015-04-16
14:02:56
上传
评论
收藏 356KB RAR 举报
Walter_Jia
- 粉丝: 352
- 资源: 26
最新资源
- 筷手引流工具.apk
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈