diff --git a/doc/h2load.1 b/doc/h2load.1 index 634385c9..1bff5095 100644 --- a/doc/h2load.1 +++ b/doc/h2load.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "H2LOAD" "1" "Aug 25, 2016" "1.14.0" "nghttp2" +.TH "H2LOAD" "1" "Sep 10, 2016" "1.15.0-DEV" "nghttp2" .SH NAME h2load \- HTTP/2 benchmarking tool . diff --git a/doc/nghttp.1 b/doc/nghttp.1 index 6a711cc6..d4de5f8a 100644 --- a/doc/nghttp.1 +++ b/doc/nghttp.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NGHTTP" "1" "Aug 25, 2016" "1.14.0" "nghttp2" +.TH "NGHTTP" "1" "Sep 10, 2016" "1.15.0-DEV" "nghttp2" .SH NAME nghttp \- HTTP/2 client . diff --git a/doc/nghttpd.1 b/doc/nghttpd.1 index 9eb17d73..763f6dc5 100644 --- a/doc/nghttpd.1 +++ b/doc/nghttpd.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NGHTTPD" "1" "Aug 25, 2016" "1.14.0" "nghttp2" +.TH "NGHTTPD" "1" "Sep 10, 2016" "1.15.0-DEV" "nghttp2" .SH NAME nghttpd \- HTTP/2 server . diff --git a/doc/nghttpx.1 b/doc/nghttpx.1 index a27453ee..193ef3c9 100644 --- a/doc/nghttpx.1 +++ b/doc/nghttpx.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NGHTTPX" "1" "Aug 25, 2016" "1.14.0" "nghttp2" +.TH "NGHTTPX" "1" "Sep 10, 2016" "1.15.0-DEV" "nghttp2" .SH NAME nghttpx \- HTTP/2 proxy . @@ -800,37 +800,36 @@ Default: \fB100\fP .UNINDENT .INDENT 0.0 .TP -.B \-\-frontend\-http2\-window\-bits= -Sets the per\-stream initial window size of HTTP/2 SPDY -frontend connection. For HTTP/2, the size is 2**\-1. -For SPDY, the size is 2**. +.B \-\-frontend\-http2\-window\-size= +Sets the per\-stream initial window size of HTTP/2 and +SPDY frontend connection. .sp -Default: \fB16\fP +Default: \fB65535\fP .UNINDENT .INDENT 0.0 .TP -.B \-\-frontend\-http2\-connection\-window\-bits= +.B \-\-frontend\-http2\-connection\-window\-size= Sets the per\-connection window size of HTTP/2 and SPDY -frontend connection. For HTTP/2, the size is -2**\-1. For SPDY, the size is 2**. +frontend connection. For SPDY connection, the value +less than 64KiB is rounded up to 64KiB. .sp -Default: \fB16\fP +Default: \fB65535\fP .UNINDENT .INDENT 0.0 .TP -.B \-\-backend\-http2\-window\-bits= +.B \-\-backend\-http2\-window\-size= Sets the initial window size of HTTP/2 backend -connection to 2**\-1. +connection. .sp -Default: \fB16\fP +Default: \fB65535\fP .UNINDENT .INDENT 0.0 .TP -.B \-\-backend\-http2\-connection\-window\-bits= +.B \-\-backend\-http2\-connection\-window\-size= Sets the per\-connection window size of HTTP/2 backend -connection to 2**\-1. +connection. .sp -Default: \fB30\fP +Default: \fB2147483647\fP .UNINDENT .INDENT 0.0 .TP @@ -856,6 +855,33 @@ backend session is relayed to frontend, and server push via Link header field is also supported. SPDY frontend does not support server push. .UNINDENT +.INDENT 0.0 +.TP +.B \-\-frontend\-http2\-optimize\-write\-buffer\-size +(Experimental) Enable write buffer size optimization in +frontend HTTP/2 TLS connection. This optimization aims +to reduce write buffer size so that it only contains +bytes which can send immediately. This makes server +more responsive to prioritized HTTP/2 stream because the +buffering of lower priority stream is reduced. This +option is only effective on recent Linux platform. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-frontend\-http2\-optimize\-window\-size +(Experimental) Automatically tune connection level +window size of frontend HTTP/2 TLS connection. If this +feature is enabled, connection window size starts with +the default window size, 65535 bytes. nghttpx +automatically adjusts connection window size based on +TCP receiving window size. The maximum window size is +capped by the value specified by +\fI\%\-\-frontend\-http2\-connection\-window\-size\fP\&. Since the +stream is subject to stream level window size, it should +be adjusted using \fI\%\-\-frontend\-http2\-window\-size\fP option as +well. This option is only effective on recent Linux +platform. +.UNINDENT .SS Mode .INDENT 0.0 .TP @@ -1129,6 +1155,20 @@ originally generates HTTP error status code . HTTP status code. If error status code comes from backend server, the custom error pages are not used. .UNINDENT +.INDENT 0.0 +.TP +.B \-\-server\-name= +Change server response header field value to . +.sp +Default: \fBnghttpx nghttp2/1.15.0\-DEV\fP +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-no\-server\-rewrite +Don\(aqt rewrite server header field in default mode. When +\fI\%\-\-http2\-proxy\fP is used, these headers will not be altered +regardless of this option. +.UNINDENT .SS API .INDENT 0.0 .TP @@ -1538,6 +1578,11 @@ connection from client. .B attribute [R] tls_used Return true if TLS is used on the connection. .UNINDENT +.INDENT 7.0 +.TP +.B attribute [R] tls_sni +Return the TLS SNI value which client sent in this connection. +.UNINDENT .UNINDENT .INDENT 0.0 .TP diff --git a/doc/nghttpx.1.rst b/doc/nghttpx.1.rst index a8b292e7..c69ed9be 100644 --- a/doc/nghttpx.1.rst +++ b/doc/nghttpx.1.rst @@ -729,35 +729,34 @@ HTTP/2 and SPDY Default: ``100`` -.. option:: --frontend-http2-window-bits= +.. option:: --frontend-http2-window-size= - Sets the per-stream initial window size of HTTP/2 SPDY - frontend connection. For HTTP/2, the size is 2\*\*-1. - For SPDY, the size is 2\*\*. + Sets the per-stream initial window size of HTTP/2 and + SPDY frontend connection. - Default: ``16`` + Default: ``65535`` -.. option:: --frontend-http2-connection-window-bits= +.. option:: --frontend-http2-connection-window-size= Sets the per-connection window size of HTTP/2 and SPDY - frontend connection. For HTTP/2, the size is - 2**-1. For SPDY, the size is 2\*\*. + frontend connection. For SPDY connection, the value + less than 64KiB is rounded up to 64KiB. - Default: ``16`` + Default: ``65535`` -.. option:: --backend-http2-window-bits= +.. option:: --backend-http2-window-size= Sets the initial window size of HTTP/2 backend - connection to 2\*\*-1. + connection. - Default: ``16`` + Default: ``65535`` -.. option:: --backend-http2-connection-window-bits= +.. option:: --backend-http2-connection-window-size= Sets the per-connection window size of HTTP/2 backend - connection to 2\*\*-1. + connection. - Default: ``30`` + Default: ``2147483647`` .. option:: --http2-no-cookie-crumbling @@ -780,6 +779,31 @@ HTTP/2 and SPDY via Link header field is also supported. SPDY frontend does not support server push. +.. option:: --frontend-http2-optimize-write-buffer-size + + (Experimental) Enable write buffer size optimization in + frontend HTTP/2 TLS connection. This optimization aims + to reduce write buffer size so that it only contains + bytes which can send immediately. This makes server + more responsive to prioritized HTTP/2 stream because the + buffering of lower priority stream is reduced. This + option is only effective on recent Linux platform. + +.. option:: --frontend-http2-optimize-window-size + + (Experimental) Automatically tune connection level + window size of frontend HTTP/2 TLS connection. If this + feature is enabled, connection window size starts with + the default window size, 65535 bytes. nghttpx + automatically adjusts connection window size based on + TCP receiving window size. The maximum window size is + capped by the value specified by + :option:`--frontend-http2-connection-window-size`\. Since the + stream is subject to stream level window size, it should + be adjusted using :option:`--frontend-http2-window-size` option as + well. This option is only effective on recent Linux + platform. + Mode ~~~~ @@ -1019,6 +1043,18 @@ HTTP HTTP status code. If error status code comes from backend server, the custom error pages are not used. +.. option:: --server-name= + + Change server response header field value to . + + Default: ``nghttpx nghttp2/1.15.0-DEV`` + +.. option:: --no-server-rewrite + + Don't rewrite server header field in default mode. When + :option:`--http2-proxy` is used, these headers will not be altered + regardless of this option. + API ~~~ @@ -1409,6 +1445,10 @@ respectively. Return true if TLS is used on the connection. + .. rb:attr_reader:: tls_sni + + Return the TLS SNI value which client sent in this connection. + .. rb:class:: Request Object to represent request from client. The modification to