]> git.kaiwu.me - nginx.git/commit
Upstream: fixed store/cache of unfinished responses.
authorMaxim Dounin <mdounin@mdounin.ru>
Thu, 25 Jul 2013 10:56:59 +0000 (14:56 +0400)
committerMaxim Dounin <mdounin@mdounin.ru>
Thu, 25 Jul 2013 10:56:59 +0000 (14:56 +0400)
commit187f3948ed4de1e8886fd50cbe937816c25dede6
tree95dd6555aabcb14a057ff1c150124725b64a64ed
parenteafe44ff7995ab32c7935495ce0905530a104ec9
Upstream: fixed store/cache of unfinished responses.

In case of upstream eof, only responses with u->pipe->length == -1
are now cached/stored.  This ensures that unfinished chunked responses
are not cached.

Note well - previously used checks for u->headers_in.content_length_n are
preserved.  This provides an additional level of protection if protol data
disagree with Content-Length header provided (e.g., a FastCGI response
is sent with wrong Content-Length, or an incomple SCGI or uwsgi response),
as well as protects from storing of responses to HEAD requests.  This should
be reconsidered if we'll consider caching of responses to HEAD requests.
src/http/ngx_http_upstream.c