Opened 19 months ago
Last modified 19 months ago
#2486 new enhancement
Documentation for client_max_body_size may contain an error
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | documentation | Version: | |
Keywords: | Cc: | ||
uname -a: | n/a | ||
nginx -V: | n/a |
Description
http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
contains:
"Please be aware that browsers cannot correctly display this error."
I have seen this error displayed in Chrome as a simple HTML error document output by nginx, so it seems that some browsers can display this error.
Could you please clarify if there are different outcomes for other browsers? Thank you!
Change History (2)
follow-up: 2 comment:1 by , 19 months ago
comment:2 by , 19 months ago
Replying to Sergey Kandaurov:
The sentence was written in the old times of dominating MSIE 4.x-6.x and Netscape 4.x, which poorly handled receiving of response with accompanying connection close before they finished sending client body. Nowadays this is usually managed using lingering close. Still the connection can be closed non-lingered by middleboxes such as forward proxy.
The sentence in question was written with lingering close in mind (and properly implemented in nginx). It does not, however, prevent browsers from ignoring the response sent by nginx till the request body is completely sent, and this might not happen till lingering_time expires.
Nowadays, tree main factors prevail:
- Requests are smaller compared to typical channel throughput, so hitting
lingering_time
is less likely even if the browser ignores the response before the request body is completely sent. - Browsers improved in handling of HTTP, and might try to handle the response before the request body is completely sent.
- In HTTP/2, bi-directional communication is more or less required, so most browsers can handle such error responses at least via HTTP/2.
It might make sense to do some additional testing to see the actual current state across various browsers and protocols, and probably rewrite the sentence to something less scary, such as "might not be able to...".
The sentence was written in the old times of dominating MSIE 4.x-6.x and Netscape 4.x, which poorly handled receiving of response with accompanying connection close before they finished sending client body. Nowadays this is usually managed using lingering close. Still the connection can be closed non-lingered by middleboxes such as forward proxy.
Things could be improved since then.