| default |
- |
- |
- |
- |
| // |
- |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, must-revalidate |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, proxy-revalidate |
200 |
cached , and cache-lookup is hit |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5" |
200,200 |
cached , but cache-lookup is miss |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, must-revalidate |
200,304 |
cached , but cache-lookup is stale, cache-lookup-result is method forces revalidated , always update cache |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, proxy-revalidate |
200,304 |
cached , but cache-lookup is stale, cache-lookup-result is method forces revalidated , always update cache |
| // |
"Cache-Control: no-store" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-store" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-cache" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-cache" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Cookie:foo=777" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cookie:foo=777" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| proxy.config.http.cache.cache_responses_to_cookies : 0 |
- |
- |
- |
|
| // |
- |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, must-revalidate |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, proxy-revalidate |
200 |
cached , and cache-lookup is hit |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5" |
200,200 |
cached , but cache-lookup is miss |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, must-revalidate |
200,304 |
cached , but cache-lookup is stale, cache-lookup-result is method forces revalidated , always update cache |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, proxy-revalidate |
200,304 |
cached , but cache-lookup is stale, cache-lookup-result is method forces revalidated , always update cache |
| // |
"Cache-Control: no-store" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-store" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-cache" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-cache" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Cookie:foo=777" |
"Cache-Control: max-age=5" |
200 |
● not cached (●Change from Default) |
| // |
"Cookie:foo=777" |
"Cache-Control: max-age=5, public" |
200 |
● not cached (●Change from Default) |
| proxy.config.http.cache.ignore_client_no_cache : 0 |
- |
- |
- |
|
| // |
- |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, must-revalidate |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, proxy-revalidate |
200 |
cached , and cache-lookup is hit |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5" |
200,200 |
cached , but cache-lookup is miss |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, must-revalidate |
200,304 |
cached , but cache-lookup is stale, cache-lookup-result is method forces revalidated , always update cache |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, proxy-revalidate |
200,304 |
cached , but cache-lookup is stale, cache-lookup-result is method forces revalidated , always update cache |
| // |
"Cache-Control: no-store" |
"Cache-Control: max-age=5" |
200 |
● not cached (●Change from Default) |
| // |
"Cache-Control: no-store" |
"Cache-Control: max-age=5, public" |
200 |
● not cached (●Change from Default) |
| // |
"Cache-Control: no-cache" |
"Cache-Control: max-age=5" |
200,304 |
cached , but cache-lookup is stale, cache-lookup-result is client forces revalidate , always update cache (●Change from Default) |
| // |
"Cache-Control: no-cache" |
"Cache-Control: max-age=5, public" |
200,304 |
cached , but cache-lookup is stale, cache-lookup-result is client forces revalidate , always update cache (●Change from Default) |
| // |
"Cookie:foo=777" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cookie:foo=777" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| proxy.config.http.cache.ignore_authentication : 1 |
- |
- |
- |
|
| // |
- |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, must-revalidate |
200 |
cached , and cache-lookup is hit |
| // |
- |
"Cache-Control: max-age=5, proxy-revalidate |
200 |
cached , and cache-lookup is hit |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5" |
200,200 |
cached , and cache-lookup is hit (●Change from Default) |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, must-revalidate |
200,304 |
cached , and cache-lookup is hit (●Change from Default) |
| // |
"Authorization: Basic ******" |
"Cache-Control: max-age=5, proxy-revalidate |
200,304 |
cached , and cache-lookup is hit (●Change from Default) |
| // |
"Cache-Control: no-store" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-store" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-cache" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cache-Control: no-cache" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
| // |
"Cookie:foo=777" |
"Cache-Control: max-age=5" |
200 |
cached , and cache-lookup is hit |
| // |
"Cookie:foo=777" |
"Cache-Control: max-age=5, public" |
200 |
cached , and cache-lookup is hit |
traffic server control whether to cache or not by client's request headers or origin's response headers , and this control are differences between on the actual behavior and on the document.
For explaining about actual behavior, I built trafficserver from latest source code ( commit: 05a6f19f99cebc4ec3210467fb9a5527b21c7d8d ) on master branch, and did gold_tests on my repo ( nozomi1773/trafficserver-test-docker--headers-to-not-cache ).
I entered detailed "via" informations in this *.test.py files.
Could you check this behavior?
Is this behavior unexpected? Or is the description of the document wrong?
If the latter, I will make a PR to correct it.
Information
client's request headers
client's request headers ( document )
latest document notes following :
and
Configuring Traffic Server to Ignore Client no-cache Headersnotes configure Traffic Server to ignore Client no-cache Headers:but latest traffic server's default is already 1 .
client's request headers ( actual behavior on my gold_tests )
I checked behavior when origin's response header have cacheable "Cache-Control: max-age=5" with proxy.config.http.cache.required_headers is default(2) .
origin's response headers
origin's response headers ( document )
latest document notes following :
and
Configuring Traffic Server to Ignore WWW-Authenticate Headersnotes configure Traffic Server to ignore server WWW-Authenticate headers:and
Configuring Traffic Server to Ignore Server no-cache Headernotes configure Traffic Server to ignore server no-cache headers:origin's response headers ( actual behavior on my gold_tests )
I checked behavior when origin's response header have cacheable "Cache-Control: max-age=5" with proxy.config.http.cache.required_headers is default(2) .