annotate docs/html/50x.html @ 8086:9ffef6054abf quic

HTTP/3: fixed handling request body eof. While for HTTP/1 unexpected eof always means an error, for HTTP/3 an eof right after a DATA frame end means the end of the request body. For this reason, since adding HTTP/3 support, eof no longer produced an error right after recv() but was passed to filters which would make a decision. This decision was made in ngx_http_parse_chunked() and ngx_http_v3_parse_request_body() based on the b->last_buf flag. Now that since 0f7f1a509113 (1.19.2) rb->chunked->length is a lower threshold for the expected number of bytes, it can be set to zero to indicate that more bytes may or may not follow. Now it's possible to move the check for eof from parser functions to ngx_http_request_body_chunked_filter() and clean up the parsing code. Also, in the default branch, in case of eof, the following three things happened, which were replaced with returning NGX_ERROR while implementing HTTP/3: - "client prematurely closed connection" message was logged - c->error flag was set - NGX_HTTP_BAD_REQUEST was returned The change brings back this behavior for HTTP/1 as well as HTTP/3.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 16 Sep 2020 18:59:25 +0100
parents 1cd63ae46243
children 67c68cd973b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4840
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
1 <!DOCTYPE html>
657
400711951595 nginx-0.3.50-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 <html>
400711951595 nginx-0.3.50-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
3 <head>
4840
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
4 <title>Error</title>
657
400711951595 nginx-0.3.50-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5 <style>
4840
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
6 body {
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
7 width: 35em;
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
8 margin: 0 auto;
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
9 font-family: Tahoma, Verdana, Arial, sans-serif;
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
10 }
657
400711951595 nginx-0.3.50-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 </style>
400711951595 nginx-0.3.50-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 </head>
4840
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
13 <body>
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
14 <h1>An error occurred.</h1>
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
15 <p>Sorry, the page you are looking for is currently unavailable.<br/>
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
16 Please try again later.</p>
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
17 <p>If you are the system administrator of this resource then you should check
7336
1cd63ae46243 A link to the error_log directive on nginx.org removed.
Maxim Konovalov <maxim@nginx.com>
parents: 4840
diff changeset
18 the error log for details.</p>
4840
b5ba6f22a0fc Improved 50x error page.
Valentin Bartenev <vbart@nginx.com>
parents: 663
diff changeset
19 <p><em>Faithfully yours, nginx.</em></p>
657
400711951595 nginx-0.3.50-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20 </body>
400711951595 nginx-0.3.50-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 </html>