mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-28 13:58:08 +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
|
proxy. When this option is enabled, the only responses which can be delivered
|
||||||
to the client are :
|
to the client are :
|
||||||
- all those without "Set-Cookie" header ;
|
- all those without "Set-Cookie" header ;
|
||||||
- all those with a return code other than 200, 203, 206, 300, 301, 410,
|
- all those with a return code other than 200, 203, 204, 206, 300, 301,
|
||||||
provided that the server has not set a "Cache-control: public" header ;
|
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,
|
- 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:
|
OPTIONS, TRACE, provided that the server has not set a 'Cache-Control:
|
||||||
public' header field ;
|
public' header field ;
|
||||||
|
@ -5388,15 +5388,24 @@ int http_wait_for_response(struct stream *s, struct channel *rep, int an_bit)
|
|||||||
switch (txn->status) {
|
switch (txn->status) {
|
||||||
case 200:
|
case 200:
|
||||||
case 203:
|
case 203:
|
||||||
|
case 204:
|
||||||
case 206:
|
case 206:
|
||||||
case 300:
|
case 300:
|
||||||
case 301:
|
case 301:
|
||||||
|
case 404:
|
||||||
|
case 405:
|
||||||
case 410:
|
case 410:
|
||||||
/* RFC2616 @13.4:
|
case 414:
|
||||||
* "A response received with a status code of
|
case 501:
|
||||||
* 200, 203, 206, 300, 301 or 410 MAY be stored
|
/* RFC7231#6.1:
|
||||||
* by a cache (...) unless a cache-control
|
* Responses with status codes that are defined as
|
||||||
* directive prohibits caching."
|
* 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:
|
* RFC7234#4:
|
||||||
* A cache MUST write through requests with methods
|
* A cache MUST write through requests with methods
|
||||||
|
Loading…
Reference in New Issue
Block a user