From 6e51910cb2ce7a798b98edbfa77fa7943631cc43 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Mon, 28 Oct 2013 23:32:57 +0900 Subject: [PATCH] Add released-doc/v0.1.0 --- _sources/apiref.txt | 45 +- _sources/index.txt | 6 + apiref.html | 79 +- genindex.html | 54 +- index.html | 19 +- nghttp2.h.html | 61 +- nghttp2ver.h.html | 14 +- objects.inv | Bin 1939 -> 2000 bytes package_README.html | 180 +- released-versions/v0.1.0/_sources/apiref.txt | 1908 ++++ released-versions/v0.1.0/_sources/index.txt | 26 + .../v0.1.0/_sources/nghttp2.h.txt | 4 + .../v0.1.0/_sources/nghttp2ver.h.txt | 4 + .../v0.1.0/_sources/package_README.txt | 1 + .../v0.1.0/_static/ajax-loader.gif | Bin 0 -> 673 bytes released-versions/v0.1.0/_static/basic.css | 540 + .../v0.1.0/_static/comment-bright.png | Bin 0 -> 3500 bytes .../v0.1.0/_static/comment-close.png | Bin 0 -> 3578 bytes released-versions/v0.1.0/_static/comment.png | Bin 0 -> 3445 bytes released-versions/v0.1.0/_static/default.css | 256 + released-versions/v0.1.0/_static/default2.css | 15 + released-versions/v0.1.0/_static/doctools.js | 247 + .../v0.1.0/_static/down-pressed.png | Bin 0 -> 368 bytes released-versions/v0.1.0/_static/down.png | Bin 0 -> 363 bytes released-versions/v0.1.0/_static/file.png | Bin 0 -> 392 bytes released-versions/v0.1.0/_static/jquery.js | 9404 +++++++++++++++++ released-versions/v0.1.0/_static/minus.png | Bin 0 -> 199 bytes released-versions/v0.1.0/_static/plus.png | Bin 0 -> 199 bytes released-versions/v0.1.0/_static/pygments.css | 62 + .../v0.1.0/_static/searchtools.js | 560 + released-versions/v0.1.0/_static/sidebar.js | 151 + .../v0.1.0/_static/underscore.js | 1226 +++ .../v0.1.0/_static/up-pressed.png | Bin 0 -> 372 bytes released-versions/v0.1.0/_static/up.png | Bin 0 -> 363 bytes .../v0.1.0/_static/websupport.js | 808 ++ released-versions/v0.1.0/apiref.html | 2409 +++++ released-versions/v0.1.0/genindex.html | 966 ++ released-versions/v0.1.0/index.html | 149 + released-versions/v0.1.0/nghttp2.h.html | 2312 ++++ released-versions/v0.1.0/nghttp2ver.h.html | 151 + released-versions/v0.1.0/objects.inv | Bin 0 -> 1935 bytes released-versions/v0.1.0/package_README.html | 554 + released-versions/v0.1.0/search.html | 104 + released-versions/v0.1.0/searchindex.js | 1 + search.html | 10 +- searchindex.js | 2 +- 46 files changed, 22185 insertions(+), 143 deletions(-) create mode 100644 released-versions/v0.1.0/_sources/apiref.txt create mode 100644 released-versions/v0.1.0/_sources/index.txt create mode 100644 released-versions/v0.1.0/_sources/nghttp2.h.txt create mode 100644 released-versions/v0.1.0/_sources/nghttp2ver.h.txt create mode 100644 released-versions/v0.1.0/_sources/package_README.txt create mode 100644 released-versions/v0.1.0/_static/ajax-loader.gif create mode 100644 released-versions/v0.1.0/_static/basic.css create mode 100644 released-versions/v0.1.0/_static/comment-bright.png create mode 100644 released-versions/v0.1.0/_static/comment-close.png create mode 100644 released-versions/v0.1.0/_static/comment.png create mode 100644 released-versions/v0.1.0/_static/default.css create mode 100644 released-versions/v0.1.0/_static/default2.css create mode 100644 released-versions/v0.1.0/_static/doctools.js create mode 100644 released-versions/v0.1.0/_static/down-pressed.png create mode 100644 released-versions/v0.1.0/_static/down.png create mode 100644 released-versions/v0.1.0/_static/file.png create mode 100644 released-versions/v0.1.0/_static/jquery.js create mode 100644 released-versions/v0.1.0/_static/minus.png create mode 100644 released-versions/v0.1.0/_static/plus.png create mode 100644 released-versions/v0.1.0/_static/pygments.css create mode 100644 released-versions/v0.1.0/_static/searchtools.js create mode 100644 released-versions/v0.1.0/_static/sidebar.js create mode 100644 released-versions/v0.1.0/_static/underscore.js create mode 100644 released-versions/v0.1.0/_static/up-pressed.png create mode 100644 released-versions/v0.1.0/_static/up.png create mode 100644 released-versions/v0.1.0/_static/websupport.js create mode 100644 released-versions/v0.1.0/apiref.html create mode 100644 released-versions/v0.1.0/genindex.html create mode 100644 released-versions/v0.1.0/index.html create mode 100644 released-versions/v0.1.0/nghttp2.h.html create mode 100644 released-versions/v0.1.0/nghttp2ver.h.html create mode 100644 released-versions/v0.1.0/objects.inv create mode 100644 released-versions/v0.1.0/package_README.html create mode 100644 released-versions/v0.1.0/search.html create mode 100644 released-versions/v0.1.0/searchindex.js diff --git a/_sources/apiref.txt b/_sources/apiref.txt index 9144d972..22c49191 100644 --- a/_sources/apiref.txt +++ b/_sources/apiref.txt @@ -73,6 +73,11 @@ Macros The initial window size for connection level flow control. +.. macro:: NGHTTP2_MAX_HEADER_TABLE_SIZE + + + The maximum header table size. + .. macro:: NGHTTP2_CLIENT_CONNECTION_HEADER @@ -191,10 +196,10 @@ Enums (``-521``) The user callback function failed due to the temporal error. - .. macro:: NGHTTP2_ERR_FRAME_TOO_LARGE + .. macro:: NGHTTP2_ERR_FRAME_SIZE_ERROR (``-522``) - The length of the frame is too large. + The length of the frame is invalid, either too large or too small. .. macro:: NGHTTP2_ERR_HEADER_COMP (``-523``) @@ -211,6 +216,11 @@ Enums (``-526``) Callback was paused by the application + .. macro:: NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS + + (``-527``) + There are too many in-flight SETTING frame and no more + transmission of SETTINGS is allowed. .. macro:: NGHTTP2_ERR_FATAL (``-900``) @@ -295,16 +305,24 @@ Enums (``0x4``) The END_PUSH_PROMISE flag. - .. macro:: NGHTTP2_FLAG_PONG + .. macro:: NGHTTP2_FLAG_ACK (``0x1``) - The PONG flag. + The ACK flag. .. type:: nghttp2_settings_id The SETTINGS ID. + .. macro:: NGHTTP2_SETTINGS_HEADER_TABLE_SIZE + + (``1``) + SETTINGS_HEADER_TABLE_SIZE + .. macro:: NGHTTP2_SETTINGS_ENABLE_PUSH + + (``2``) + SETTINGS_ENABLE_PUSH .. macro:: NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS (``4``) @@ -343,14 +361,18 @@ Enums (``3``) FLOW_CONTROL_ERROR + .. macro:: NGHTTP2_SETTINGS_TIMEOUT + + (``4``) + SETTINGS_TIMEOUT .. macro:: NGHTTP2_STREAM_CLOSED (``5``) STREAM_CLOSED - .. macro:: NGHTTP2_FRAME_TOO_LARGE + .. macro:: NGHTTP2_FRAME_SIZE_ERROR (``6``) - FRAME_TOO_LARGE + FRAME_SIZE_ERROR .. macro:: NGHTTP2_REFUSED_STREAM (``7``) @@ -363,6 +385,14 @@ Enums (``9``) COMPRESSION_ERROR + .. macro:: NGHTTP2_CONNECT_ERROR + + (``10``) + CONNECT_ERROR + .. macro:: NGHTTP2_ENHANCE_YOUR_CALM + + (``420``) + ENHANCE_YOUR_CALM .. type:: nghttp2_headers_category @@ -1645,6 +1675,9 @@ Functions size becomes strictly larger than NGHTTP2_MAX_WINDOW_SIZE, RST_STREAM is issued against such a stream. + SETTINGS with :macro:`NGHTTP2_FLAG_ACK` is automatically submitted + by the library and application could not send it at its will. + This function returns 0 if it succeeds, or one of the following negative error codes: diff --git a/_sources/index.txt b/_sources/index.txt index a27beaa6..97340a28 100644 --- a/_sources/index.txt +++ b/_sources/index.txt @@ -19,6 +19,12 @@ Contents: nghttp2.h nghttp2ver.h +Released Versions +================= + +* `v0.1.0 `_ `(Download) `_ + + Resources --------- diff --git a/apiref.html b/apiref.html index d40bcb50..9b3f5d87 100644 --- a/apiref.html +++ b/apiref.html @@ -8,7 +8,7 @@ - API Reference — nghttp2 0.1.0-DEV documentation + API Reference — nghttp2 0.2.0-DEV documentation @@ -17,7 +17,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • nghttp2 0.1.0-DEV documentation »
  • +
  • nghttp2 0.2.0-DEV documentation »
  • @@ -136,6 +136,12 @@ for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.

    The initial window size for connection level flow control.

    +
    +
    +NGHTTP2_MAX_HEADER_TABLE_SIZE
    +

    The maximum header table size.

    +
    +
    NGHTTP2_CLIENT_CONNECTION_HEADER
    @@ -318,10 +324,10 @@ The user callback function failed due to the temporal error.

    -
    -NGHTTP2_ERR_FRAME_TOO_LARGE
    +
    +NGHTTP2_ERR_FRAME_SIZE_ERROR

    (-522) -The length of the frame is too large.

    +The length of the frame is invalid, either too large or too small.

    @@ -352,6 +358,14 @@ Insufficient buffer size given to function.

    Callback was paused by the application

    +
    +
    +NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS
    +

    (-527) +There are too many in-flight SETTING frame and no more +transmission of SETTINGS is allowed.

    +
    +
    NGHTTP2_ERR_FATAL
    @@ -487,10 +501,10 @@ The END_PUSH_PROMISE flag.

    -
    -NGHTTP2_FLAG_PONG
    +
    +NGHTTP2_FLAG_ACK

    (0x1) -The PONG flag.

    +The ACK flag.

    @@ -499,6 +513,20 @@ The PONG flag.

    nghttp2_settings_id

    The SETTINGS ID.

    +
    +
    +NGHTTP2_SETTINGS_HEADER_TABLE_SIZE
    +

    (1) +SETTINGS_HEADER_TABLE_SIZE

    +
    + +
    +
    +NGHTTP2_SETTINGS_ENABLE_PUSH
    +

    (2) +SETTINGS_ENABLE_PUSH

    +
    +
    NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS
    @@ -561,6 +589,13 @@ INTERNAL_ERROR

    FLOW_CONTROL_ERROR

    +
    +
    +NGHTTP2_SETTINGS_TIMEOUT
    +

    (4) +SETTINGS_TIMEOUT

    +
    +
    NGHTTP2_STREAM_CLOSED
    @@ -569,10 +604,10 @@ STREAM_CLOSED

    -
    -NGHTTP2_FRAME_TOO_LARGE
    +
    +NGHTTP2_FRAME_SIZE_ERROR

    (6) -FRAME_TOO_LARGE

    +FRAME_SIZE_ERROR

    @@ -596,6 +631,20 @@ CANCEL

    COMPRESSION_ERROR

    +
    +
    +NGHTTP2_CONNECT_ERROR
    +

    (10) +CONNECT_ERROR

    +
    + +
    +
    +NGHTTP2_ENHANCE_YOUR_CALM
    +

    (420) +ENHANCE_YOUR_CALM

    +
    +
    @@ -2077,6 +2126,8 @@ copies all the elements in the iv.

    While updating individual stream’s local window size, if the window size becomes strictly larger than NGHTTP2_MAX_WINDOW_SIZE, RST_STREAM is issued against such a stream.

    +

    SETTINGS with NGHTTP2_FLAG_ACK is automatically submitted +by the library and application could not send it at its will.

    This function returns 0 if it succeeds, or one of the following negative error codes:

    @@ -2398,7 +2449,7 @@ the version checking.

  • previous |
  • -
  • nghttp2 0.1.0-DEV documentation »
  • +
  • nghttp2 0.2.0-DEV documentation »
  • +
    nghttp2_on_data_chunk_recv_callback (C type)
    -
    -
    nghttp2_on_data_recv_callback (C type)
    @@ -799,6 +815,10 @@ +
    NGHTTP2_SETTINGS_ENABLE_PUSH (C macro) +
    + +
    nghttp2_settings_entry (C type)
    @@ -815,6 +835,10 @@ +
    NGHTTP2_SETTINGS_HEADER_TABLE_SIZE (C macro) +
    + +
    nghttp2_settings_id (C type)
    @@ -831,6 +855,10 @@ +
    NGHTTP2_SETTINGS_TIMEOUT (C macro) +
    + +
    NGHTTP2_STREAM_CLOSED (C macro)
    @@ -955,7 +983,7 @@
  • index
  • -
  • nghttp2 0.1.0-DEV documentation »
  • +
  • nghttp2 0.2.0-DEV documentation »
  • @@ -77,6 +77,12 @@ version 2.0.

  • nghttp2ver.h
  • + +
    +

    Released Versions

    +

    Resources

    @@ -96,7 +96,7 @@ * * The protocol version identification of this library supports. */ -#define NGHTTP2_PROTO_VERSION_ID "HTTP-draft-06/2.0" +#define NGHTTP2_PROTO_VERSION_ID "HTTP-draft-07/2.0" /** * @macro * @@ -183,6 +183,13 @@ */ #define NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE ((1 << 16) - 1) +/** + * @macro + * + * The maximum header table size. + */ +#define NGHTTP2_MAX_HEADER_TABLE_SIZE (1 << 16) + /** * @macro * @@ -299,9 +306,9 @@ */ NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE = -521, /** - * The length of the frame is too large. + * The length of the frame is invalid, either too large or too small. */ - NGHTTP2_ERR_FRAME_TOO_LARGE = -522, + NGHTTP2_ERR_FRAME_SIZE_ERROR = -522, /** * Header block inflate/deflate error. */ @@ -319,6 +326,11 @@ */ NGHTTP2_ERR_PAUSE = -526, /** + * There are too many in-flight SETTING frame and no more + * transmission of SETTINGS is allowed. + */ + NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS = -527, + /** * The errors < :enum:`NGHTTP2_ERR_FATAL` mean that the library is * under unexpected condition and cannot process any further data * reliably (e.g., out of memory). @@ -435,9 +447,9 @@ */ NGHTTP2_FLAG_END_PUSH_PROMISE = 0x4, /** - * The PONG flag. + * The ACK flag. */ - NGHTTP2_FLAG_PONG = 0x1 + NGHTTP2_FLAG_ACK = 0x1 } nghttp2_flag; /** @@ -446,6 +458,14 @@ */ typedef enum { /** + * SETTINGS_HEADER_TABLE_SIZE + */ + NGHTTP2_SETTINGS_HEADER_TABLE_SIZE = 1, + /** + * SETTINGS_ENABLE_PUSH + */ + NGHTTP2_SETTINGS_ENABLE_PUSH = 2, + /** * SETTINGS_MAX_CONCURRENT_STREAMS */ NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS = 4, @@ -491,13 +511,17 @@ */ NGHTTP2_FLOW_CONTROL_ERROR = 3, /** + * SETTINGS_TIMEOUT + */ + NGHTTP2_SETTINGS_TIMEOUT = 4, + /** * STREAM_CLOSED */ NGHTTP2_STREAM_CLOSED = 5, /** - * FRAME_TOO_LARGE + * FRAME_SIZE_ERROR */ - NGHTTP2_FRAME_TOO_LARGE = 6, + NGHTTP2_FRAME_SIZE_ERROR = 6, /** * REFUSED_STREAM */ @@ -509,7 +533,15 @@ /** * COMPRESSION_ERROR */ - NGHTTP2_COMPRESSION_ERROR = 9 + NGHTTP2_COMPRESSION_ERROR = 9, + /** + * CONNECT_ERROR + */ + NGHTTP2_CONNECT_ERROR = 10, + /** + * ENHANCE_YOUR_CALM + */ + NGHTTP2_ENHANCE_YOUR_CALM = 420 } nghttp2_error_code; /** @@ -1939,6 +1971,9 @@ * size becomes strictly larger than NGHTTP2_MAX_WINDOW_SIZE, * RST_STREAM is issued against such a stream. * + * SETTINGS with :enum:`NGHTTP2_FLAG_ACK` is automatically submitted + * by the library and application could not send it at its will. + * * This function returns 0 if it succeeds, or one of the following * negative error codes: * @@ -2301,7 +2336,7 @@
  • previous |
  • -
  • nghttp2 0.1.0-DEV documentation »
  • +
  • nghttp2 0.2.0-DEV documentation »
  • @@ -81,7 +81,7 @@ * @macro * Version number of the nghttp2 library release */ -#define NGHTTP2_VERSION "0.1.0-DEV" +#define NGHTTP2_VERSION "0.2.0-DEV" /** * @macro @@ -89,7 +89,7 @@ * release. This is a 24 bit number with 8 bits for major number, 8 bits * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203. */ -#define NGHTTP2_VERSION_NUM 0x000100 +#define NGHTTP2_VERSION_NUM 0x000200 #endif /* NGHTTP2VER_H */ @@ -140,7 +140,7 @@
  • previous |
  • -
  • nghttp2 0.1.0-DEV documentation »
  • +
  • nghttp2 0.2.0-DEV documentation »
  • @@ -56,48 +56,47 @@

    nghttp2 - HTTP/2.0 C Library

    This is an experimental implementation of Hypertext Transfer Protocol version 2.0.

    +

    There are command-line header compression test tools in hdtest +directory. Check out deflatehd and inflatehd commands.

    Development Status

    -

    We started to implement HTTP-draft-06/2.0 -(http://tools.ietf.org/html/draft-ietf-httpbis-http2-06) and the +

    We started to implement HTTP-draft-07/2.0 +(http://tools.ietf.org/html/draft-ietf-httpbis-http2-07) and the header compression -(http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-03).

    +(http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07).

    The nghttp2 code base was forked from spdylay project.

    --++ - + - + - + - + + + + + + + - - - - - - - - -
    FeaturesHTTP-draft-06/2.0HTTP-draft-07/2.0
    Flow Control
    :authority Done
    Header Compression
    HPACK-draft-04 Done
    Reprioritization
    SETTINGS_HEADER_TABLE_SIZEDone
    SETTINGS_ENABLE_PUSH 
    FRAME_SIZE_ERROR Done
    Header Continuation  
    Server PushDone
    HTTP UpgradeDone
    ALPN  
    NPNDone
    @@ -149,6 +148,11 @@ resource) in nghttp,
    • libxml2 >= 2.7.7
    +

    The header compression test tools in hdtest directory require the +following package:

    +
      +
    • jansson >= 2.5
    • +

    If you are using Ubuntu 12.04, you need the following packages installed:

      @@ -162,6 +166,7 @@ installed:

    • libssl-dev
    • libxml2-dev
    • libevent-dev
    • +
    • libjansson-dev

    spdylay is not packaged in Ubuntu, so you need to build it yourself: http://spdylay.sourceforge.net/

    @@ -201,50 +206,56 @@ with prior knowledge, HTTP Upgrade and NPN TLS extension.

    It has verbose output mode for framing information. Here is sample output from nghttp client:

    $ src/nghttp -vn https://localhost:8443
    -[  0.001] NPN select next protocol: the remote server offers:
    -          * HTTP-draft-06/2.0
    +[  0.003] NPN select next protocol: the remote server offers:
    +          * HTTP-draft-07/2.0
               * spdy/3
               * spdy/2
               * http/1.1
    -          NPN selected the protocol: HTTP-draft-06/2.0
    -[  0.006] send SETTINGS frame <length=16, flags=0x00, stream_id=0>
    +          NPN selected the protocol: HTTP-draft-07/2.0
    +[  0.005] send SETTINGS frame <length=16, flags=0x00, stream_id=0>
               (niv=2)
    -          [MAX_CONCURRENT_STREAMS(4):100]
    -          [INITIAL_WINDOW_SIZE(7):65535]
    -[  0.006] send HEADERS frame <length=58, flags=0x05, stream_id=1>
    +          [SETTINGS_MAX_CONCURRENT_STREAMS(4):100]
    +          [SETTINGS_INITIAL_WINDOW_SIZE(7):65535]
    +[  0.006] send HEADERS frame <length=47, flags=0x05, stream_id=1>
               ; END_STREAM | END_HEADERS
               ; Open new stream
    -          :host: localhost:8443
    +          :authority: localhost:8443
               :method: GET
               :path: /
               :scheme: https
               accept: */*
               accept-encoding: gzip, deflate
               user-agent: nghttp2/0.1.0-DEV
    -[  0.007] recv SETTINGS frame <length=16, flags=0x00, stream_id=0>
    +[  0.006] recv SETTINGS frame <length=16, flags=0x00, stream_id=0>
               (niv=2)
    -          [MAX_CONCURRENT_STREAMS(4):100]
    -          [INITIAL_WINDOW_SIZE(7):65535]
    -[  0.008] recv WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
    +          [SETTINGS_MAX_CONCURRENT_STREAMS(4):100]
    +          [SETTINGS_INITIAL_WINDOW_SIZE(7):65535]
    +[  0.006] send SETTINGS frame <length=0, flags=0x01, stream_id=0>
    +          ; ACK
    +          (niv=0)
    +[  0.006] recv WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
               (window_size_increment=1000000007)
    -[  0.008] recv HEADERS frame <length=179, flags=0x04, stream_id=1>
    +[  0.006] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
    +          ; ACK
    +          (niv=0)
    +[  0.006] recv HEADERS frame <length=132, flags=0x04, stream_id=1>
               ; END_HEADERS
               ; First response header
    -          :status: 200 OK
    +          :status: 200
               accept-ranges: bytes
               content-encoding: gzip
    -          content-length: 56
    +          content-length: 146
               content-type: text/html
    -          date: Thu, 22 Aug 2013 16:37:17 GMT
    -          etag: "cf405c-2d-45adabdf282c0"
    -          last-modified: Tue, 04 Nov 2008 10:44:03 GMT
    -          server: Apache/2.2.22 (Debian)
    +          date: Sun, 27 Oct 2013 14:23:54 GMT
    +          etag: "b1-4e5535a027780-gzip"
    +          last-modified: Sun, 01 Sep 2013 14:34:22 GMT
    +          server: Apache/2.4.6 (Debian)
               vary: Accept-Encoding
               via: 1.1 nghttpx
    -[  0.009] recv DATA frame <length=56, flags=0x00, stream_id=1>
    -[  0.009] recv DATA frame <length=0, flags=0x01, stream_id=1>
    +[  0.006] recv DATA frame <length=146, flags=0x00, stream_id=1>
    +[  0.006] recv DATA frame <length=0, flags=0x01, stream_id=1>
               ; END_STREAM
    -[  0.009] send GOAWAY frame <length=8, flags=0x00, stream_id=0>
    +[  0.007] send GOAWAY frame <length=8, flags=0x00, stream_id=0>
               (last_stream_id=0, error_code=NO_ERROR(0), opaque_data(0)=[])

    The HTTP Upgrade is performed like this:

    @@ -253,7 +264,7 @@ output from nghttp cl GET / HTTP/1.1 Host: localhost:8080 Connection: Upgrade, HTTP2-Settings -Upgrade: HTTP-draft-06/2.0 +Upgrade: HTTP-draft-07/2.0 HTTP2-Settings: AAAABAAAAGQAAAAHAAD__w Accept: */* User-Agent: nghttp2/0.1.0-DEV @@ -262,39 +273,44 @@ User-Agent: nghttp2/0.1.0-DEV [ 0.000] HTTP Upgrade response HTTP/1.1 101 Switching Protocols Connection: Upgrade -Upgrade: HTTP-draft-06/2.0 +Upgrade: HTTP-draft-07/2.0 -[ 0.000] HTTP Upgrade success +[ 0.001] HTTP Upgrade success [ 0.001] send SETTINGS frame <length=16, flags=0x00, stream_id=0> (niv=2) - [MAX_CONCURRENT_STREAMS(4):100] - [INITIAL_WINDOW_SIZE(7):65535] + [SETTINGS_MAX_CONCURRENT_STREAMS(4):100] + [SETTINGS_INITIAL_WINDOW_SIZE(7):65535] [ 0.001] recv SETTINGS frame <length=16, flags=0x00, stream_id=0> (niv=2) - [MAX_CONCURRENT_STREAMS(4):100] - [INITIAL_WINDOW_SIZE(7):65535] + [SETTINGS_MAX_CONCURRENT_STREAMS(4):100] + [SETTINGS_INITIAL_WINDOW_SIZE(7):65535] [ 0.001] recv WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0> (window_size_increment=1000000007) -[ 0.001] recv HEADERS frame <length=198, flags=0x04, stream_id=1> +[ 0.001] recv HEADERS frame <length=121, flags=0x04, stream_id=1> ; END_HEADERS ; First response header - :status: 200 OK + :status: 200 accept-ranges: bytes - content-length: 45 + content-length: 177 content-type: text/html - date: Thu, 22 Aug 2013 16:39:04 GMT - etag: "cf405c-2d-45adabdf282c0" - last-modified: Tue, 04 Nov 2008 10:44:03 GMT - server: Apache/2.2.22 (Debian) + date: Sun, 27 Oct 2013 14:26:04 GMT + etag: "b1-4e5535a027780" + last-modified: Sun, 01 Sep 2013 14:34:22 GMT + server: Apache/2.4.6 (Debian) vary: Accept-Encoding via: 1.1 nghttpx - x-pad: avoid browser bug -[ 0.001] recv DATA frame <length=45, flags=0x00, stream_id=1> +[ 0.001] recv DATA frame <length=177, flags=0x00, stream_id=1> [ 0.001] recv DATA frame <length=0, flags=0x01, stream_id=1> ; END_STREAM +[ 0.001] send SETTINGS frame <length=0, flags=0x01, stream_id=0> + ; ACK + (niv=0) [ 0.001] send GOAWAY frame <length=8, flags=0x00, stream_id=0> - (last_stream_id=0, error_code=NO_ERROR(0), opaque_data(0)=[]) + (last_stream_id=0, error_code=NO_ERROR(0), opaque_data(0)=[]) +[ 0.001] recv SETTINGS frame <length=0, flags=0x01, stream_id=0> + ; ACK + (niv=0)
    @@ -310,44 +326,50 @@ information. Here is sample output from
    $ src/nghttpd --no-tls -v 8080
     IPv4: listen on port 8080
     IPv6: listen on port 8080
    -[id=1] [ 14.716] send SETTINGS frame <length=8, flags=0x00, stream_id=0>
    +[id=1] [  1.189] send SETTINGS frame <length=8, flags=0x00, stream_id=0>
               (niv=1)
    -          [MAX_CONCURRENT_STREAMS(4):100]
    -[id=1] [ 14.717] recv SETTINGS frame <length=16, flags=0x00, stream_id=0>
    +          [SETTINGS_MAX_CONCURRENT_STREAMS(4):100]
    +[id=1] [  1.191] recv SETTINGS frame <length=16, flags=0x00, stream_id=0>
               (niv=2)
    -          [MAX_CONCURRENT_STREAMS(4):100]
    -          [INITIAL_WINDOW_SIZE(7):65535]
    -[id=1] [ 14.717] recv HEADERS frame <length=58, flags=0x05, stream_id=1>
    +          [SETTINGS_MAX_CONCURRENT_STREAMS(4):100]
    +          [SETTINGS_INITIAL_WINDOW_SIZE(7):65535]
    +[id=1] [  1.191] recv HEADERS frame <length=47, flags=0x05, stream_id=1>
               ; END_STREAM | END_HEADERS
               ; Open new stream
    -          :host: localhost:8080
    +          :authority: localhost:8080
               :method: GET
               :path: /
               :scheme: http
               accept: */*
               accept-encoding: gzip, deflate
               user-agent: nghttp2/0.1.0-DEV
    -[id=1] [ 14.717] send HEADERS frame <length=105, flags=0x04, stream_id=1>
    +[id=1] [  1.192] send SETTINGS frame <length=0, flags=0x01, stream_id=0>
    +          ; ACK
    +          (niv=0)
    +[id=1] [  1.192] send HEADERS frame <length=70, flags=0x04, stream_id=1>
               ; END_HEADERS
               ; First response header
    -          :status: 404 Not Found
    +          :status: 404
               content-encoding: gzip
               content-type: text/html; charset=UTF-8
    -          date: Thu, 22 Aug 2013 16:41:05 GMT
    +          date: Sun, 27 Oct 2013 14:27:53 GMT
               server: nghttpd nghttp2/0.1.0-DEV
    -[id=1] [ 14.717] send DATA frame <length=128, flags=0x00, stream_id=1>
    -[id=1] [ 14.717] send DATA frame <length=0, flags=0x01, stream_id=1>
    +[id=1] [  1.192] send DATA frame <length=117, flags=0x00, stream_id=1>
    +[id=1] [  1.192] send DATA frame <length=0, flags=0x01, stream_id=1>
               ; END_STREAM
    -[id=1] [ 14.717] stream_id=1 closed
    -[id=1] [ 14.717] recv GOAWAY frame <length=8, flags=0x00, stream_id=0>
    +[id=1] [  1.192] stream_id=1 closed
    +[id=1] [  1.192] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
    +          ; ACK
    +          (niv=0)
    +[id=1] [  1.192] recv GOAWAY frame <length=8, flags=0x00, stream_id=0>
               (last_stream_id=0, error_code=NO_ERROR(0), opaque_data(0)=[])
    -[id=1] [ 14.717] closed
    +[id=1] [ 1.192] closed

    nghttpx - proxy

    The nghttpx is a multi-threaded reverse proxy for -HTTP-draft-06/2.0, SPDY and HTTP/1.1. It has several operation modes:

    +HTTP-draft-07/2.0, SPDY and HTTP/1.1. It has several operation modes:

    @@ -391,7 +413,7 @@ HTTP-draft-06/2.0, SPDY and HTTP/1.1. It has several operation modes:

    The interesting mode at the moment is the default mode. It works like -a reverse proxy and listens HTTP-draft-06/2.0, SPDY and HTTP/1.1 and +a reverse proxy and listens HTTP-draft-07/2.0, SPDY and HTTP/1.1 and can be deployed SSL/TLS terminator for existing web server.

    The default mode, --spdy and --spdy-bridge modes use SSL/TLS in the frontend connection by default. To disable SSL/TLS, use @@ -543,7 +565,7 @@ the outside HTTP/2.0 proxy through HTTP proxy:

  • previous |
  • -
  • nghttp2 0.1.0-DEV documentation »
  • +
  • nghttp2 0.2.0-DEV documentation »
  • @@ -93,7 +93,7 @@
  • index
  • -
  • nghttp2 0.1.0-DEV documentation »
  • +
  • nghttp2 0.2.0-DEV documentation »