Mercurial > hg > nginx
annotate auto/summary @ 6566:ce94f07d5082
HTTP/2: implemented preread buffer for request body (closes #959).
Previously, the stream's window was kept zero in order to prevent a client
from sending the request body before it was requested (see 887cca40ba6a for
details). Until such initial window was acknowledged all requests with
data were rejected (see 0aa07850922f for details).
That approach revealed a number of problems:
1. Some clients (notably MS IE/Edge, Safari, iOS applications) show an error
or even crash if a stream is rejected;
2. This requires at least one RTT for every request with body before the
client receives window update and able to send data.
To overcome these problems the new directive "http2_body_preread_size" is
introduced. It sets the initial window and configures a special per stream
preread buffer that is used to save all incoming data before the body is
requested and processed.
If the directive's value is lower than the default initial window (65535),
as previously, all streams with data will be rejected until the new window
is acknowledged. Otherwise, no special processing is used and all requests
with data are welcome right from the connection start.
The default value is chosen to be 64k, which is bigger than the default
initial window. Setting it to zero is fully complaint to the previous
behavior.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Tue, 24 May 2016 17:37:52 +0300 |
parents | 85dea406e18f |
children | 9eefb38f0005 |
rev | line source |
---|---|
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
425
diff
changeset
|
1 |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
425
diff
changeset
|
2 # Copyright (C) Igor Sysoev |
4412 | 3 # Copyright (C) Nginx, Inc. |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
425
diff
changeset
|
4 |
210
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
5 |
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
6 echo |
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
7 echo "Configuration summary" |
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 |
337
4feff829a849
nginx-0.0.3-2004-05-19-00:28:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
285
diff
changeset
|
9 |
6018
466bd63b63d1
Thread pools implementation.
Valentin Bartenev <vbart@nginx.com>
parents:
6017
diff
changeset
|
10 if [ $USE_THREADS = YES ]; then |
466bd63b63d1
Thread pools implementation.
Valentin Bartenev <vbart@nginx.com>
parents:
6017
diff
changeset
|
11 echo " + using threads" |
466bd63b63d1
Thread pools implementation.
Valentin Bartenev <vbart@nginx.com>
parents:
6017
diff
changeset
|
12 fi |
466bd63b63d1
Thread pools implementation.
Valentin Bartenev <vbart@nginx.com>
parents:
6017
diff
changeset
|
13 |
265
6468241715e6
nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
14 if [ $USE_PCRE = DISABLED ]; then |
501 | 15 echo " + PCRE library is disabled" |
265
6468241715e6
nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
16 |
6468241715e6
nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
17 else |
6468241715e6
nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
18 case $PCRE in |
425
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
19 YES) echo " + using system PCRE library" ;; |
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
20 NONE) echo " + PCRE library is not used" ;; |
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
21 *) echo " + using PCRE library: $PCRE" ;; |
265
6468241715e6
nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
22 esac |
6468241715e6
nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
23 fi |
212
679f60139863
nginx-0.0.1-2003-12-19-11:15:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
24 |
399
4e21d1291a14
nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
337
diff
changeset
|
25 case $OPENSSL in |
425
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
26 YES) echo " + using system OpenSSL library" ;; |
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
27 NONE) echo " + OpenSSL library is not used" ;; |
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
28 *) echo " + using OpenSSL library: $OPENSSL" ;; |
399
4e21d1291a14
nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
337
diff
changeset
|
29 esac |
4e21d1291a14
nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
337
diff
changeset
|
30 |
477 | 31 case $MD5 in |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1979
diff
changeset
|
32 YES) echo " + md5: using $MD5_LIB library" ;; |
477 | 33 NONE) echo " + md5 library is not used" ;; |
3895
b659514a3948
an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents:
3684
diff
changeset
|
34 NO) echo " + using builtin md5 code" ;; |
477 | 35 *) echo " + using md5 library: $MD5" ;; |
36 esac | |
37 | |
653 | 38 case $SHA1 in |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1979
diff
changeset
|
39 YES) echo " + sha1: using $SHA1_LIB library" ;; |
653 | 40 NONE) echo " + sha1 library is not used" ;; |
41 NO) echo " + sha1 library is not found" ;; | |
42 *) echo " + using sha1 library: $SHA1" ;; | |
43 esac | |
44 | |
210
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
45 case $ZLIB in |
425
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
46 YES) echo " + using system zlib library" ;; |
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
47 NONE) echo " + zlib library is not used" ;; |
bd39260a1383
nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
424
diff
changeset
|
48 *) echo " + using zlib library: $ZLIB" ;; |
210
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
49 esac |
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
50 |
3380
1d9063f7483c
print libatomic configure summary
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
51 case $NGX_LIBATOMIC in |
1d9063f7483c
print libatomic configure summary
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
52 YES) echo " + using system libatomic_ops library" ;; |
1d9063f7483c
print libatomic configure summary
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
53 NO) ;; # not used |
1d9063f7483c
print libatomic configure summary
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
54 *) echo " + using libatomic_ops library: $NGX_LIBATOMIC" ;; |
1d9063f7483c
print libatomic configure summary
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
55 esac |
1d9063f7483c
print libatomic configure summary
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
56 |
210
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
57 echo |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
253
diff
changeset
|
58 |
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
253
diff
changeset
|
59 |
479 | 60 cat << END |
493 | 61 nginx path prefix: "$NGX_PREFIX" |
62 nginx binary file: "$NGX_SBIN_PATH" | |
6383 | 63 nginx modules path: "$NGX_MODULES_PATH" |
1352 | 64 nginx configuration prefix: "$NGX_CONF_PREFIX" |
493 | 65 nginx configuration file: "$NGX_CONF_PATH" |
66 nginx pid file: "$NGX_PID_PATH" | |
479 | 67 END |
68 | |
469 | 69 if test -n "$NGX_ERROR_LOG_PATH"; then |
493 | 70 echo " nginx error log file: \"$NGX_ERROR_LOG_PATH\"" |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
425
diff
changeset
|
71 else |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
425
diff
changeset
|
72 echo " nginx logs errors to stderr" |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
425
diff
changeset
|
73 fi |
479 | 74 |
75 cat << END | |
493 | 76 nginx http access log file: "$NGX_HTTP_LOG_PATH" |
77 nginx http client request body temporary files: "$NGX_HTTP_CLIENT_TEMP_PATH" | |
3557
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
78 END |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
79 |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
80 if [ $HTTP_PROXY = YES ]; then |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
81 echo " nginx http proxy temporary files: \"$NGX_HTTP_PROXY_TEMP_PATH\"" |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
82 fi |
479 | 83 |
3557
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
84 if [ $HTTP_FASTCGI = YES ]; then |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
85 echo " nginx http fastcgi temporary files: \"$NGX_HTTP_FASTCGI_TEMP_PATH\"" |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
86 fi |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
87 |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
88 if [ $HTTP_UWSGI = YES ]; then |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
89 echo " nginx http uwsgi temporary files: \"$NGX_HTTP_UWSGI_TEMP_PATH\"" |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
90 fi |
77188d729402
print default module temporary directory path in summary
Igor Sysoev <igor@sysoev.ru>
parents:
3549
diff
changeset
|
91 |
3637 | 92 if [ $HTTP_SCGI = YES ]; then |
93 echo " nginx http scgi temporary files: \"$NGX_HTTP_SCGI_TEMP_PATH\"" | |
94 fi | |
4280
91874133fb27
Renamed ngx_http_limit_zone_module to ngx_http_limit_conn_module.
Valentin Bartenev <vbart@nginx.com>
parents:
3895
diff
changeset
|
95 |
91874133fb27
Renamed ngx_http_limit_zone_module to ngx_http_limit_conn_module.
Valentin Bartenev <vbart@nginx.com>
parents:
3895
diff
changeset
|
96 echo "$NGX_POST_CONF_MSG" |