mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-23 06:06:54 +00:00
MINOR: http: update the list of cacheable status codes as per RFC7231
Since RFC2616, the following codes were added to the list of codes cacheable by default : 204, 404, 405, 414, 501. For now this it only checked by the checkcache option to detect cacheable cookies.
This commit is contained in:
parent
24ea0bcb1d
commit
c55ddce65c
@ -5438,8 +5438,9 @@ no option checkcache
|
||||
proxy. When this option is enabled, the only responses which can be delivered
|
||||
to the client are :
|
||||
- all those without "Set-Cookie" header ;
|
||||
- all those with a return code other than 200, 203, 206, 300, 301, 410,
|
||||
provided that the server has not set a "Cache-control: public" header ;
|
||||
- all those with a return code other than 200, 203, 204, 206, 300, 301,
|
||||
404, 405, 410, 414, 501, provided that the server has not set a
|
||||
"Cache-control: public" header field ;
|
||||
- all those that result from a request using a method other than GET, HEAD,
|
||||
OPTIONS, TRACE, provided that the server has not set a 'Cache-Control:
|
||||
public' header field ;
|
||||
|
@ -5388,15 +5388,24 @@ int http_wait_for_response(struct stream *s, struct channel *rep, int an_bit)
|
||||
switch (txn->status) {
|
||||
case 200:
|
||||
case 203:
|
||||
case 204:
|
||||
case 206:
|
||||
case 300:
|
||||
case 301:
|
||||
case 404:
|
||||
case 405:
|
||||
case 410:
|
||||
/* RFC2616 @13.4:
|
||||
* "A response received with a status code of
|
||||
* 200, 203, 206, 300, 301 or 410 MAY be stored
|
||||
* by a cache (...) unless a cache-control
|
||||
* directive prohibits caching."
|
||||
case 414:
|
||||
case 501:
|
||||
/* RFC7231#6.1:
|
||||
* Responses with status codes that are defined as
|
||||
* cacheable by default (e.g., 200, 203, 204, 206,
|
||||
* 300, 301, 404, 405, 410, 414, and 501 in this
|
||||
* specification) can be reused by a cache with
|
||||
* heuristic expiration unless otherwise indicated
|
||||
* by the method definition or explicit cache
|
||||
* controls [RFC7234]; all other status codes are
|
||||
* not cacheable by default.
|
||||
*
|
||||
* RFC7234#4:
|
||||
* A cache MUST write through requests with methods
|
||||
|
Loading…
Reference in New Issue
Block a user