diff --git a/results/apache.json b/results/apache.json index 3df11c7..bba8e09 100644 --- a/results/apache.json +++ b/results/apache.json @@ -100,7 +100,7 @@ "cdn-date-update-exceed": true, "cdn-expires-update-exceed": [ "Assertion", - "Response 2 header Expires is \"null\", not \"Mon, 25 Dec 2023 12:17:04 GMT\"" + "Response 2 header Expires is \"null\", not \"Tue, 09 Jul 2024 01:05:30 GMT\"" ], "cdn-fresh-cc-nostore": [ "Assertion", @@ -493,11 +493,11 @@ "other-cookie": true, "other-date-update": [ "Assertion", - "Response 2 header Date is \"Mon, 25 Dec 2023 12:16:58 GMT\", not \"Mon, 25 Dec 2023 12:16:55 GMT\"" + "Response 2 header Date is \"Tue, 09 Jul 2024 01:05:24 GMT\", not \"Tue, 09 Jul 2024 01:05:21 GMT\"" ], "other-date-update-expires": [ "Assertion", - "Response 2 header Date is \"Mon, 25 Dec 2023 12:16:58 GMT\", not \"Mon, 25 Dec 2023 12:16:55 GMT\"" + "Response 2 header Date is \"Tue, 09 Jul 2024 01:05:24 GMT\", not \"Tue, 09 Jul 2024 01:05:21 GMT\"" ], "other-date-update-expires-update": true, "other-fresh-content-disposition-attachment": true, diff --git a/results/caddy.json b/results/caddy.json index 92c6861..e29f0dc 100644 --- a/results/caddy.json +++ b/results/caddy.json @@ -87,18 +87,9 @@ "age-parse-dup-0-twoline": true, "age-parse-dup-old": true, "age-parse-float": true, - "age-parse-large": [ - "Assertion", - "Response 2 comes from cache" - ], - "age-parse-large-minus-one": [ - "Assertion", - "Response 2 comes from cache" - ], - "age-parse-larger": [ - "Assertion", - "Response 2 comes from cache" - ], + "age-parse-large": true, + "age-parse-large-minus-one": true, + "age-parse-larger": true, "age-parse-negative": true, "age-parse-nonnumeric": true, "age-parse-numeric-parameter": [ @@ -115,10 +106,7 @@ "Assertion", "Response 2 comes from cache" ], - "age-parse-suffix-twoline": [ - "Assertion", - "Response 2 comes from cache" - ], + "age-parse-suffix-twoline": true, "cc-resp-must-revalidate-fresh": true, "cc-resp-must-revalidate-stale": [ "Assertion", @@ -140,8 +128,14 @@ "cc-resp-no-store-old-max-age": true, "cc-resp-no-store-old-new": true, "cc-resp-private-shared": true, - "ccreq-ma0": true, - "ccreq-ma1": true, + "ccreq-ma0": [ + "Assertion", + "Response 2 comes from cache" + ], + "ccreq-ma1": [ + "Assertion", + "Response 2 comes from cache" + ], "ccreq-magreaterage": [ "Assertion", "Response 2 comes from cache" @@ -150,7 +144,10 @@ "Assertion", "Response 2 does not come from cache" ], - "ccreq-max-stale-age": true, + "ccreq-max-stale-age": [ + "Assertion", + "Response 2 does not come from cache" + ], "ccreq-min-fresh": true, "ccreq-min-fresh-age": true, "ccreq-no-cache": true, @@ -170,52 +167,34 @@ "Assertion", "Response 1 status is 200, not 504" ], - "cdn-cc-invalid-sh-type-unknown": true, - "cdn-cc-invalid-sh-type-wrong": true, - "cdn-date-update-exceed": true, - "cdn-expires-update-exceed": [ + "cdn-cc-invalid-sh-type-unknown": [ "Assertion", - "Response 2 header Expires is \"null\", not \"Tue, 26 Dec 2023 07:39:34 GMT\"" + "Response 2 comes from cache" ], - "cdn-fresh-cc-nostore": [ + "cdn-cc-invalid-sh-type-wrong": [ "Assertion", - "Response 2 does not come from cache" + "Response 2 comes from cache" ], - "cdn-max-age": [ + "cdn-date-update-exceed": true, + "cdn-expires-update-exceed": [ "Assertion", - "Response 2 does not come from cache" + "Response 2 header Expires is \"null\", not \"Tue, 09 Jul 2024 01:03:11 GMT\"" ], + "cdn-fresh-cc-nostore": true, + "cdn-max-age": true, "cdn-max-age-0": true, "cdn-max-age-0-expires": true, - "cdn-max-age-age": true, - "cdn-max-age-case-insensitive": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-cc-max-age-invalid-expires": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-expires": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-extension": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-long-cc-max-age": [ + "cdn-max-age-age": [ "Assertion", "Response 2 comes from cache" ], - "cdn-max-age-max": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-max-plus": [ - "Assertion", - "Response 2 does not come from cache" - ], + "cdn-max-age-case-insensitive": true, + "cdn-max-age-cc-max-age-invalid-expires": true, + "cdn-max-age-expires": true, + "cdn-max-age-extension": true, + "cdn-max-age-long-cc-max-age": true, + "cdn-max-age-max": true, + "cdn-max-age-max-plus": true, "cdn-max-age-short-cc-max-age": [ "Assertion", "Response 2 does not come from cache" @@ -226,14 +205,8 @@ "Assertion", "Response 2 comes from cache" ], - "cdn-no-store-cc-fresh": [ - "Assertion", - "Response 2 comes from cache" - ], - "cdn-private": [ - "Assertion", - "Response 2 comes from cache" - ], + "cdn-no-store-cc-fresh": true, + "cdn-private": true, "cdn-remove-age-exceed": [ "Assertion", "Response 2 Age header not present." @@ -372,15 +345,9 @@ "Assertion", "Response 2 does not come from cache" ], - "freshness-max-age-age": [ - "Assertion", - "Response 2 comes from cache" - ], + "freshness-max-age-age": true, "freshness-max-age-case-insenstive": true, - "freshness-max-age-date": [ - "Assertion", - "Response 2 comes from cache" - ], + "freshness-max-age-date": true, "freshness-max-age-decimal-five": [ "Assertion", "Response 2 does not come from cache" @@ -402,10 +369,7 @@ "freshness-max-age-negative": true, "freshness-max-age-quoted": true, "freshness-max-age-s-maxage-shared-longer": true, - "freshness-max-age-s-maxage-shared-longer-multiple": [ - "Assertion", - "Response 2 comes from cache" - ], + "freshness-max-age-s-maxage-shared-longer-multiple": true, "freshness-max-age-s-maxage-shared-longer-reversed": true, "freshness-max-age-s-maxage-shared-shorter": true, "freshness-max-age-s-maxage-shared-shorter-expires": true, @@ -417,31 +381,34 @@ "Assertion", "Response 2 does not come from cache" ], - "freshness-max-age-two-fresh-stale-sepline": true, - "freshness-max-age-two-stale-fresh-sameline": true, - "freshness-max-age-two-stale-fresh-sepline": [ + "freshness-max-age-two-fresh-stale-sepline": [ "Assertion", "Response 2 does not come from cache" ], + "freshness-max-age-two-stale-fresh-sameline": true, + "freshness-max-age-two-stale-fresh-sepline": true, "freshness-none": true, "freshness-s-maxage-shared": true, "head-200-freshness-update": [ - "Assertion", - "Response 3 does not come from cache" + "FetchError", + "request to http://localhost:8006/test/3a29d44d-d103-492b-9046-be67546d71d7 failed, reason: Parse Error: Empty Content-Length" ], "head-200-retain": [ - "Assertion", - "Response 2 header Template-A is \"null\", not \"1\"" + "FetchError", + "request to http://localhost:8006/test/d07b2651-4270-4ea6-ae9f-041b1b82aae8 failed, reason: Parse Error: Empty Content-Length" ], "head-200-update": [ - "Setup", - "Response 3 does not come from cache" + "FetchError", + "request to http://localhost:8006/test/eb317c8b-cea4-4b4c-b72b-71df1aa6e863 failed, reason: Parse Error: Empty Content-Length" ], "head-410-update": [ - "Setup", - "Response 3 does not come from cache" + "FetchError", + "request to http://localhost:8006/test/7f947275-bffe-4c72-a493-c64352423d8e failed, reason: Parse Error: Empty Content-Length" + ], + "head-writethrough": [ + "FetchError", + "request to http://localhost:8006/test/f9b80f6e-7980-4a44-ae58-d58ac539223c failed, reason: Parse Error: Empty Content-Length" ], - "head-writethrough": true, "headers-omit-headers-listed-in-Cache-Control-no-cache": [ "Setup", "Response 2 does not come from cache" @@ -518,18 +485,9 @@ "Assertion", "Response 2 does not come from cache" ], - "heuristic-502-not_cached": [ - "Setup", - "Response 1 status is 500, not 502" - ], - "heuristic-503-not_cached": [ - "Setup", - "Response 1 status is 500, not 503" - ], - "heuristic-504-not_cached": [ - "Setup", - "Response 1 status is 500, not 504" - ], + "heuristic-502-not_cached": true, + "heuristic-503-not_cached": true, + "heuristic-504-not_cached": true, "heuristic-599-cached": [ "Assertion", "Response 2 does not come from cache" @@ -579,10 +537,7 @@ "Assertion", "Response 2 does not come from cache" ], - "invalidate-DELETE": [ - "Assertion", - "Response 3 comes from cache" - ], + "invalidate-DELETE": true, "invalidate-DELETE-cl": [ "Assertion", "Response 3 comes from cache" @@ -592,10 +547,7 @@ "Assertion", "Response 3 comes from cache" ], - "invalidate-M-SEARCH": [ - "Assertion", - "Response 3 comes from cache" - ], + "invalidate-M-SEARCH": true, "invalidate-M-SEARCH-cl": [ "Assertion", "Response 3 comes from cache" @@ -605,10 +557,7 @@ "Assertion", "Response 3 comes from cache" ], - "invalidate-POST": [ - "Assertion", - "Response 3 comes from cache" - ], + "invalidate-POST": true, "invalidate-POST-cl": [ "Assertion", "Response 3 comes from cache" @@ -618,10 +567,7 @@ "Assertion", "Response 3 comes from cache" ], - "invalidate-PUT": [ - "Assertion", - "Response 3 comes from cache" - ], + "invalidate-PUT": true, "invalidate-PUT-cl": [ "Assertion", "Response 3 comes from cache" @@ -644,10 +590,7 @@ "Assertion", "Response 2 does not come from cache" ], - "other-age-update-max-age": [ - "Assertion", - "Response 2 header Age is 4, should be bigger than 32" - ], + "other-age-update-max-age": true, "other-authorization": true, "other-authorization-must-revalidate": [ "Assertion", @@ -827,37 +770,25 @@ ], "status-499-stale": true, "status-500-fresh": [ - "AbortError", - "The user aborted a request." - ], - "status-500-stale": [ - "AbortError", - "The user aborted a request." + "Assertion", + "Response 2 does not come from cache" ], + "status-500-stale": true, "status-502-fresh": [ - "Setup", - "Response 1 status is 500, not 502" - ], - "status-502-stale": [ - "Setup", - "Response 1 status is 500, not 502" + "Assertion", + "Response 2 does not come from cache" ], + "status-502-stale": true, "status-503-fresh": [ - "Setup", - "Response 1 status is 500, not 503" - ], - "status-503-stale": [ - "Setup", - "Response 1 status is 500, not 503" + "Assertion", + "Response 2 does not come from cache" ], + "status-503-stale": true, "status-504-fresh": [ - "Setup", - "Response 1 status is 500, not 504" - ], - "status-504-stale": [ - "Setup", - "Response 1 status is 500, not 504" + "Assertion", + "Response 2 does not come from cache" ], + "status-504-stale": true, "status-599-fresh": [ "Assertion", "Response 2 does not come from cache" @@ -901,36 +832,12 @@ ], "vary-omit": true, "vary-omit-stored": true, - "vary-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-empty-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-empty-star-lines": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-foo-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-star-foo": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-star-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-star-star-lines": [ - "Assertion", - "Response 2 comes from cache" - ] + "vary-star": true, + "vary-syntax-empty-star": true, + "vary-syntax-empty-star-lines": true, + "vary-syntax-foo-star": true, + "vary-syntax-star": true, + "vary-syntax-star-foo": true, + "vary-syntax-star-star": true, + "vary-syntax-star-star-lines": true } diff --git a/results/fastly.json b/results/fastly.json index 05a8c33..c380900 100644 --- a/results/fastly.json +++ b/results/fastly.json @@ -172,7 +172,7 @@ "cdn-date-update-exceed": true, "cdn-expires-update-exceed": [ "Assertion", - "Response 2 header Expires is \"null\", not \"Mon, 11 Dec 2023 04:24:47 GMT\"" + "Response 2 header Expires is \"null\", not \"Tue, 09 Jul 2024 01:17:30 GMT\"" ], "cdn-fresh-cc-nostore": [ "Assertion", @@ -637,11 +637,11 @@ "other-cookie": true, "other-date-update": [ "Assertion", - "Response 2 header Date is \"Mon, 11 Dec 2023 04:24:42 GMT\", not \"Mon, 11 Dec 2023 04:24:39 GMT\"" + "Response 2 header Date is \"Tue, 09 Jul 2024 01:17:25 GMT\", not \"Tue, 09 Jul 2024 01:17:22 GMT\"" ], "other-date-update-expires": [ "Assertion", - "Response 2 header Date is \"Mon, 11 Dec 2023 04:24:42 GMT\", not \"Mon, 11 Dec 2023 04:24:39 GMT\"" + "Response 2 header Date is \"Tue, 09 Jul 2024 01:17:25 GMT\", not \"Tue, 09 Jul 2024 01:17:22 GMT\"" ], "other-date-update-expires-update": true, "other-fresh-content-disposition-attachment": true, diff --git a/results/index.mjs b/results/index.mjs index 571ea1e..e820403 100644 --- a/results/index.mjs +++ b/results/index.mjs @@ -4,47 +4,47 @@ export default [ file: 'chrome.json', name: 'Chrome', type: 'browser', - version: '120.0.6099.109' + version: '126.0.6478.127' }, { file: 'firefox.json', name: 'Firefox', type: 'browser', - version: '121.0', + version: '127.0.2', link: 'https://github.com/http-tests/cache-tests/wiki/Firefox' }, { file: 'safari.json', name: 'Safari', type: 'browser', - version: '17.2 (19617.1.17.11.9)' + version: 'Version 17.5 (19618.2.12.11.6)' }, { file: 'nginx.json', name: 'nginx', type: 'rev-proxy', - version: '1.24.0-2ubuntu3', + version: '1.26.0-1ubuntu2', link: 'https://github.com/http-tests/cache-tests/wiki/nginx' }, { file: 'squid.json', name: 'Squid', type: 'rev-proxy', - version: '6.5-1ubuntu1', + version: '6.9-1ubuntu1', link: 'https://github.com/http-tests/cache-tests/wiki/Squid' }, { file: 'trafficserver.json', name: 'ATS', type: 'rev-proxy', - version: '9.2.3+ds-1+deb12u1', + version: '9.2.4+ds-2', link: 'https://github.com/http-tests/cache-tests/wiki/Traffic-Server' }, { file: 'apache.json', name: 'httpd', type: 'rev-proxy', - version: '2.4.58-1ubuntu1', + version: '2.4.59-2ubuntu2', link: 'https://github.com/http-tests/cache-tests/wiki/Apache-httpd' }, { @@ -54,13 +54,6 @@ export default [ version: '7.1.1-1.1ubuntu1', link: 'https://github.com/http-tests/cache-tests/wiki/Varnish' }, - { - file: 'nuster.json', - name: 'nuster', - type: 'rev-proxy', - version: 'master', - link: 'https://github.com/http-tests/cache-tests/wiki/nuster' - }, { file: 'caddy.json', name: 'caddy', @@ -72,7 +65,7 @@ export default [ file: 'fastly.json', name: 'Fastly', type: 'cdn', - version: '11-12-2023', + version: '2024-07-09', link: 'https://github.com/http-tests/cache-tests/wiki/Fastly' } ] diff --git a/results/nginx.json b/results/nginx.json index 4780132..a180768 100644 --- a/results/nginx.json +++ b/results/nginx.json @@ -12,8 +12,8 @@ "Response 2 header Content-Encoding is \"arizqhypgxofwne\", not \"askcumewogyqias\"" ], "304-etag-update-response-Content-Foo": [ - "Assertion", - "Response 2 header Content-Foo is \"awsokgcyuqmieaw\", not \"axurolifczwtqnk\"" + "AbortError", + "The user aborted a request." ], "304-etag-update-response-Content-Length": true, "304-etag-update-response-Content-Location": [ @@ -33,12 +33,12 @@ "Response 2 header Content-Security-Policy is \"default-src 'self'\", not \"default-src 'self' cdn.example.com\"" ], "304-etag-update-response-Content-Type": [ - "Assertion", - "Response 2 header Content-Type is \"text/plain\", not \"text/plain;charset=utf-8\"" + "AbortError", + "The user aborted a request." ], "304-etag-update-response-ETag": [ - "Assertion", - "Response 2 header ETag is \"\"abcdef\"\", not \"\"ghijkl\"\"" + "AbortError", + "The user aborted a request." ], "304-etag-update-response-Expires": [ "Assertion", @@ -181,7 +181,7 @@ "cdn-date-update-exceed": true, "cdn-expires-update-exceed": [ "Assertion", - "Response 2 header Expires is \"null\", not \"Mon, 25 Dec 2023 12:26:49 GMT\"" + "Response 2 header Expires is \"null\", not \"Tue, 09 Jul 2024 01:06:50 GMT\"" ], "cdn-fresh-cc-nostore": [ "Assertion", @@ -588,8 +588,8 @@ "Response 3 comes from cache" ], "invalidate-POST": [ - "Assertion", - "Response 3 comes from cache" + "AbortError", + "The user aborted a request." ], "invalidate-POST-cl": [ "Assertion", @@ -643,11 +643,11 @@ "other-cookie": true, "other-date-update": [ "Assertion", - "Response 2 header Date is \"Mon, 25 Dec 2023 12:26:43 GMT\", not \"Mon, 25 Dec 2023 12:26:40 GMT\"" + "Response 2 header Date is \"Tue, 09 Jul 2024 01:06:44 GMT\", not \"Tue, 09 Jul 2024 01:06:41 GMT\"" ], "other-date-update-expires": [ "Assertion", - "Response 2 header Date is \"Mon, 25 Dec 2023 12:26:43 GMT\", not \"Mon, 25 Dec 2023 12:26:40 GMT\"" + "Response 2 header Date is \"Tue, 09 Jul 2024 01:06:44 GMT\", not \"Tue, 09 Jul 2024 01:06:41 GMT\"" ], "other-date-update-expires-update": true, "other-fresh-content-disposition-attachment": true, diff --git a/results/nuster.json b/results/nuster.json deleted file mode 100644 index 3658e67..0000000 --- a/results/nuster.json +++ /dev/null @@ -1,909 +0,0 @@ -{ - "304-etag-update-response-Cache-Control": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Clear-Site-Data": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Content-Encoding": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Content-Foo": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Content-Length": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Content-Location": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Content-MD5": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Content-Range": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Content-Security-Policy": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Content-Type": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-ETag": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Expires": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Public-Key-Pins": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Set-Cookie": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Set-Cookie2": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-Test-Header": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-X-Content-Foo": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-X-Frame-Options": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-X-Test-Header": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-etag-update-response-X-XSS-Protection": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "304-lm-use-stored-Test-Header": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "age-parse-dup-0": true, - "age-parse-dup-0-twoline": true, - "age-parse-dup-old": true, - "age-parse-float": true, - "age-parse-large": [ - "Assertion", - "Response 2 comes from cache" - ], - "age-parse-large-minus-one": [ - "Assertion", - "Response 2 comes from cache" - ], - "age-parse-larger": [ - "Assertion", - "Response 2 comes from cache" - ], - "age-parse-negative": true, - "age-parse-nonnumeric": true, - "age-parse-numeric-parameter": [ - "Assertion", - "Response 2 comes from cache" - ], - "age-parse-parameter": [ - "Assertion", - "Response 2 comes from cache" - ], - "age-parse-prefix": true, - "age-parse-prefix-twoline": true, - "age-parse-suffix": [ - "Assertion", - "Response 2 comes from cache" - ], - "age-parse-suffix-twoline": [ - "Assertion", - "Response 2 comes from cache" - ], - "cc-resp-must-revalidate-fresh": true, - "cc-resp-must-revalidate-stale": [ - "Assertion", - "Request 3 should have been conditional, but it was not." - ], - "cc-resp-no-cache": [ - "Assertion", - "Response 2 comes from cache" - ], - "cc-resp-no-cache-case-insensitive": [ - "Assertion", - "Response 2 comes from cache" - ], - "cc-resp-no-cache-revalidate": [ - "Assertion", - "Request 2 should have been conditional, but it was not." - ], - "cc-resp-no-cache-revalidate-fresh": [ - "Assertion", - "request 2 wasn't sent to server" - ], - "cc-resp-no-store": true, - "cc-resp-no-store-case-insensitive": true, - "cc-resp-no-store-fresh": [ - "Assertion", - "Response 2 comes from cache" - ], - "cc-resp-no-store-old-max-age": true, - "cc-resp-no-store-old-new": true, - "cc-resp-private-shared": [ - "Assertion", - "Response 2 comes from cache" - ], - "ccreq-ma0": [ - "Assertion", - "Response 2 comes from cache" - ], - "ccreq-ma1": [ - "Assertion", - "Response 2 comes from cache" - ], - "ccreq-magreaterage": [ - "Assertion", - "Response 2 comes from cache" - ], - "ccreq-max-stale": [ - "Assertion", - "Response 2 does not come from cache" - ], - "ccreq-max-stale-age": true, - "ccreq-min-fresh": [ - "Assertion", - "Response 2 comes from cache" - ], - "ccreq-min-fresh-age": [ - "Assertion", - "Response 2 comes from cache" - ], - "ccreq-no-cache": [ - "Assertion", - "Response 2 comes from cache" - ], - "ccreq-no-cache-etag": [ - "Assertion", - "request 2 wasn't sent to server" - ], - "ccreq-no-cache-lm": [ - "Assertion", - "request 2 wasn't sent to server" - ], - "ccreq-no-store": [ - "Assertion", - "Response 2 comes from cache" - ], - "ccreq-oic": [ - "Assertion", - "Response 1 status is 200, not 504" - ], - "cdn-cc-invalid-sh-type-unknown": true, - "cdn-cc-invalid-sh-type-wrong": true, - "cdn-date-update-exceed": true, - "cdn-expires-update-exceed": [ - "Assertion", - "Response 2 header Expires is \"null\", not \"Mon, 25 Dec 2023 12:11:29 GMT\"" - ], - "cdn-fresh-cc-nostore": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-0": true, - "cdn-max-age-0-expires": true, - "cdn-max-age-age": true, - "cdn-max-age-case-insensitive": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-cc-max-age-invalid-expires": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-expires": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-extension": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-long-cc-max-age": [ - "Assertion", - "Response 2 comes from cache" - ], - "cdn-max-age-max": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-max-plus": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-short-cc-max-age": [ - "Assertion", - "Response 2 does not come from cache" - ], - "cdn-max-age-space-after-equals": true, - "cdn-max-age-space-before-equals": true, - "cdn-no-cache": [ - "Assertion", - "Response 2 comes from cache" - ], - "cdn-no-store-cc-fresh": [ - "Assertion", - "Response 2 comes from cache" - ], - "cdn-private": [ - "Assertion", - "Response 2 comes from cache" - ], - "cdn-remove-age-exceed": [ - "Assertion", - "Response 2 Age header not present." - ], - "cdn-remove-header": true, - "conditional-304-etag": true, - "conditional-etag-forward": true, - "conditional-etag-forward-unquoted": [ - "Assertion", - "Request 1 header If-None-Match is \"abcdef\", not \"\"abcdef\"\"" - ], - "conditional-etag-precedence": [ - "Assertion", - "Response 2 status is 200, not 304" - ], - "conditional-etag-quoted-respond-unquoted": [ - "Assertion", - "Response 2 status is 200, not 304" - ], - "conditional-etag-strong-generate": [ - "Assertion", - "Request 2 should have been conditional, but it was not." - ], - "conditional-etag-strong-generate-unquoted": [ - "Assertion", - "Request 2 should have been conditional, but it was not." - ], - "conditional-etag-strong-respond": true, - "conditional-etag-strong-respond-multiple-first": true, - "conditional-etag-strong-respond-multiple-last": true, - "conditional-etag-strong-respond-multiple-second": true, - "conditional-etag-strong-respond-obs-text": [ - "Assertion", - "Response 2 status is 200, not 304" - ], - "conditional-etag-unquoted-respond-quoted": [ - "Assertion", - "Response 2 status is 200, not 304" - ], - "conditional-etag-unquoted-respond-unquoted": true, - "conditional-etag-vary-headers": [ - "Setup", - "Request 2 should have been conditional, but it was not." - ], - "conditional-etag-vary-headers-mismatch": true, - "conditional-etag-weak-generate-weak": [ - "Assertion", - "Request 2 should have been conditional, but it was not." - ], - "conditional-etag-weak-respond": true, - "conditional-etag-weak-respond-backslash": true, - "conditional-etag-weak-respond-lowercase": true, - "conditional-etag-weak-respond-omit-slash": true, - "conditional-lm-fresh": true, - "conditional-lm-fresh-earlier": [ - "Assertion", - "Response 2 status is 200, not 304" - ], - "conditional-lm-fresh-no-lm": [ - "Assertion", - "Response 2 status is 200, not 304" - ], - "conditional-lm-fresh-rfc850": [ - "Assertion", - "Response 2 status is 200, not 304" - ], - "conditional-lm-stale": true, - "freshness-expires-32bit": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-expires-age-fast-date": true, - "freshness-expires-age-slow-date": true, - "freshness-expires-ansi-c": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-expires-far-future": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-expires-future": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-expires-invalid": true, - "freshness-expires-invalid-1-digit-hour": true, - "freshness-expires-invalid-2-digit-year": true, - "freshness-expires-invalid-aest": true, - "freshness-expires-invalid-date": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-expires-invalid-date-dashes": true, - "freshness-expires-invalid-multiple-lines": true, - "freshness-expires-invalid-multiple-spaces": true, - "freshness-expires-invalid-no-comma": true, - "freshness-expires-invalid-time-periods": true, - "freshness-expires-invalid-utc": true, - "freshness-expires-old-date": true, - "freshness-expires-past": true, - "freshness-expires-present": true, - "freshness-expires-rfc850": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-expires-wrong-case-month": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-expires-wrong-case-tz": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-expires-wrong-case-weekday": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age": true, - "freshness-max-age-0": true, - "freshness-max-age-0-expires": true, - "freshness-max-age-100a": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age-a100": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age-age": [ - "Assertion", - "Response 2 comes from cache" - ], - "freshness-max-age-case-insenstive": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age-date": [ - "Assertion", - "Response 2 comes from cache" - ], - "freshness-max-age-decimal-five": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age-decimal-zero": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age-expires": true, - "freshness-max-age-expires-invalid": true, - "freshness-max-age-extension": true, - "freshness-max-age-ignore-quoted": true, - "freshness-max-age-ignore-quoted-rev": true, - "freshness-max-age-leading-zero": true, - "freshness-max-age-max": true, - "freshness-max-age-max-minus-1": true, - "freshness-max-age-max-plus": true, - "freshness-max-age-max-plus-1": true, - "freshness-max-age-negative": true, - "freshness-max-age-quoted": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age-s-maxage-shared-longer": [ - "Assertion", - "Response 2 comes from cache" - ], - "freshness-max-age-s-maxage-shared-longer-multiple": [ - "Assertion", - "Response 2 comes from cache" - ], - "freshness-max-age-s-maxage-shared-longer-reversed": true, - "freshness-max-age-s-maxage-shared-shorter": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age-s-maxage-shared-shorter-expires": true, - "freshness-max-age-single-quoted": true, - "freshness-max-age-space-after-equals": true, - "freshness-max-age-space-before-equals": true, - "freshness-max-age-stale": true, - "freshness-max-age-two-fresh-stale-sameline": true, - "freshness-max-age-two-fresh-stale-sepline": true, - "freshness-max-age-two-stale-fresh-sameline": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-max-age-two-stale-fresh-sepline": [ - "Assertion", - "Response 2 does not come from cache" - ], - "freshness-none": true, - "freshness-s-maxage-shared": true, - "head-200-freshness-update": [ - "Assertion", - "Response 3 does not come from cache" - ], - "head-200-retain": [ - "Assertion", - "Response 2 header Template-A is \"null\", not \"1\"" - ], - "head-200-update": [ - "Setup", - "Response 3 does not come from cache" - ], - "head-410-update": [ - "Setup", - "Response 3 does not come from cache" - ], - "head-writethrough": true, - "headers-omit-headers-listed-in-Cache-Control-no-cache": [ - "Assertion", - "Response 2 includes unexpected header a: \"1\"" - ], - "headers-omit-headers-listed-in-Cache-Control-no-cache-single": [ - "Assertion", - "Response 2 includes unexpected header a: \"1\"" - ], - "headers-omit-headers-listed-in-Connection": [ - "Assertion", - "Response 2 includes unexpected header a: \"1\"" - ], - "headers-store-Cache-Control": true, - "headers-store-Clear-Site-Data": true, - "headers-store-Connection": true, - "headers-store-Content-Encoding": true, - "headers-store-Content-Foo": true, - "headers-store-Content-Length": true, - "headers-store-Content-Location": true, - "headers-store-Content-MD5": true, - "headers-store-Content-Range": true, - "headers-store-Content-Security-Policy": true, - "headers-store-Content-Type": true, - "headers-store-ETag": true, - "headers-store-Expires": true, - "headers-store-Keep-Alive": true, - "headers-store-Proxy-Authenticate": true, - "headers-store-Proxy-Authentication-Info": true, - "headers-store-Proxy-Authorization": true, - "headers-store-Proxy-Connection": true, - "headers-store-Public-Key-Pins": true, - "headers-store-Set-Cookie": true, - "headers-store-Set-Cookie2": true, - "headers-store-TE": true, - "headers-store-Test-Header": true, - "headers-store-Transfer-Encoding": true, - "headers-store-Upgrade": true, - "headers-store-X-Content-Foo": true, - "headers-store-X-Frame-Options": true, - "headers-store-X-Test-Header": true, - "headers-store-X-XSS-Protection": true, - "heuristic-200-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-201-not_cached": true, - "heuristic-202-not_cached": true, - "heuristic-203-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-204-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-403-not_cached": true, - "heuristic-404-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-405-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-410-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-414-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-501-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-502-not_cached": true, - "heuristic-503-not_cached": true, - "heuristic-504-not_cached": true, - "heuristic-599-cached": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-599-not_cached": true, - "heuristic-delta-10": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-1200": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-1800": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-30": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-300": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-3600": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-43200": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-5": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-60": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-600": [ - "Assertion", - "Response 2 does not come from cache" - ], - "heuristic-delta-86400": [ - "Assertion", - "Response 2 does not come from cache" - ], - "invalidate-DELETE": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-DELETE-cl": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-DELETE-failed": true, - "invalidate-DELETE-location": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-M-SEARCH": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-M-SEARCH-cl": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-M-SEARCH-failed": true, - "invalidate-M-SEARCH-location": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-POST": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-POST-cl": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-POST-failed": true, - "invalidate-POST-location": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-PUT": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-PUT-cl": [ - "Assertion", - "Response 3 comes from cache" - ], - "invalidate-PUT-failed": true, - "invalidate-PUT-location": [ - "Assertion", - "Response 3 comes from cache" - ], - "method-POST": [ - "Assertion", - "Response 2 does not come from cache" - ], - "other-age-delay": [ - "Assertion", - "Response 1 age header not present." - ], - "other-age-gen": [ - "Assertion", - "Response 2 Age header not present." - ], - "other-age-update-expires": [ - "Assertion", - "Response 2 does not come from cache" - ], - "other-age-update-max-age": [ - "Assertion", - "Response 2 header Age is 30, should be bigger than 32" - ], - "other-authorization": [ - "Assertion", - "Response 2 comes from cache" - ], - "other-authorization-must-revalidate": true, - "other-authorization-public": true, - "other-authorization-smaxage": true, - "other-cookie": true, - "other-date-update": true, - "other-date-update-expires": [ - "Assertion", - "Response 2 does not come from cache" - ], - "other-date-update-expires-update": [ - "Assertion", - "Response 2 does not come from cache" - ], - "other-fresh-content-disposition-attachment": true, - "other-heuristic-content-disposition-attachment": [ - "Assertion", - "Response 2 does not come from cache" - ], - "other-set-cookie": true, - "partial-store-complete-reuse-partial": [ - "Assertion", - "Response 2 status is 200, not 206" - ], - "partial-store-complete-reuse-partial-no-last": [ - "Assertion", - "Response 2 status is 200, not 206" - ], - "partial-store-complete-reuse-partial-suffix": [ - "Assertion", - "Response 2 status is 200, not 206" - ], - "partial-store-partial-complete": [ - "Setup", - "Response 2 status is 206, not 200" - ], - "partial-store-partial-reuse-partial": true, - "partial-store-partial-reuse-partial-absent": [ - "Assertion", - "Response body is \"01234\", not \"234\"" - ], - "partial-store-partial-reuse-partial-byterange": [ - "Assertion", - "Response body is \"01234\", not \"234\"" - ], - "partial-store-partial-reuse-partial-suffix": [ - "Assertion", - "Response body is \"01234\", not \"4\"" - ], - "partial-use-headers": [ - "Setup", - "Response 2 status is 200, not 206" - ], - "partial-use-stored-headers": [ - "Setup", - "Response 2 status is 200, not 206" - ], - "pragma-request-extension": true, - "pragma-request-no-cache": true, - "pragma-response-extension": true, - "pragma-response-no-cache": true, - "pragma-response-no-cache-heuristic": [ - "Assertion", - "Response 2 does not come from cache" - ], - "query-args-different": true, - "query-args-same": true, - "stale-503": [ - "Assertion", - "Response 2 does not come from cache" - ], - "stale-close": [ - "Assertion", - "Response 2 does not come from cache" - ], - "stale-close-must-revalidate": [ - "Assertion", - "Response 2 comes from cache" - ], - "stale-close-no-cache": [ - "Assertion", - "Response 2 comes from cache" - ], - "stale-close-proxy-revalidate": [ - "Assertion", - "Response 2 comes from cache" - ], - "stale-close-s-maxage=2": [ - "Assertion", - "Response 2 comes from cache" - ], - "stale-sie-503": [ - "Assertion", - "Response 2 does not come from cache" - ], - "stale-sie-close": [ - "Assertion", - "Response 2 does not come from cache" - ], - "stale-warning-become": [ - "Setup", - "Response 2 does not come from cache" - ], - "stale-warning-stored": [ - "Setup", - "Response 2 does not come from cache" - ], - "stale-while-revalidate": [ - "Assertion", - "Response 2 does not come from cache" - ], - "stale-while-revalidate-window": [ - "Setup", - "Response 2 does not come from cache" - ], - "status-200-fresh": true, - "status-200-must-understand": true, - "status-200-stale": true, - "status-203-fresh": true, - "status-203-stale": true, - "status-204-fresh": true, - "status-204-stale": true, - "status-299-fresh": true, - "status-299-stale": true, - "status-301-fresh": true, - "status-301-stale": true, - "status-302-fresh": true, - "status-302-stale": true, - "status-303-fresh": true, - "status-303-stale": true, - "status-307-fresh": true, - "status-307-stale": true, - "status-308-fresh": true, - "status-308-stale": true, - "status-400-fresh": true, - "status-400-stale": true, - "status-404-fresh": true, - "status-404-stale": true, - "status-410-fresh": true, - "status-410-stale": true, - "status-499-fresh": true, - "status-499-stale": true, - "status-500-fresh": true, - "status-500-stale": true, - "status-502-fresh": true, - "status-502-stale": true, - "status-503-fresh": true, - "status-503-stale": true, - "status-504-fresh": true, - "status-504-stale": true, - "status-599-fresh": true, - "status-599-must-understand": [ - "Assertion", - "Response 2 comes from cache" - ], - "status-599-stale": true, - "vary-2-match": true, - "vary-2-match-omit": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-2-no-match": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-3-match": true, - "vary-3-no-match": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-3-omit": true, - "vary-3-order": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-cache-key": true, - "vary-invalidate": [ - "Setup", - "Response 2 comes from cache" - ], - "vary-match": true, - "vary-no-match": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-normalise-combine": true, - "vary-normalise-lang-case": true, - "vary-normalise-lang-order": true, - "vary-normalise-lang-select": true, - "vary-normalise-lang-space": true, - "vary-normalise-space": true, - "vary-omit": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-omit-stored": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-empty-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-empty-star-lines": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-foo-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-star-foo": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-star-star": [ - "Assertion", - "Response 2 comes from cache" - ], - "vary-syntax-star-star-lines": [ - "Assertion", - "Response 2 comes from cache" - ] -} diff --git a/results/safari.json b/results/safari.json index dfbedaa..9a0e5ed 100644 --- a/results/safari.json +++ b/results/safari.json @@ -342,54 +342,54 @@ "heuristic-delta-60": true, "heuristic-delta-600": true, "heuristic-delta-86400": true, - "invalidate-DELETE": true, - "invalidate-DELETE-cl": [ + "invalidate-DELETE": [ "Assertion", "Response 3 comes from cache" ], - "invalidate-DELETE-failed": [ + "invalidate-DELETE-cl": [ "Assertion", - "Response 3 does not come from cache" + "Response 3 comes from cache" ], + "invalidate-DELETE-failed": true, "invalidate-DELETE-location": [ "Assertion", "Response 3 comes from cache" ], - "invalidate-M-SEARCH": true, - "invalidate-M-SEARCH-cl": [ + "invalidate-M-SEARCH": [ "Assertion", "Response 3 comes from cache" ], - "invalidate-M-SEARCH-failed": [ + "invalidate-M-SEARCH-cl": [ "Assertion", - "Response 3 does not come from cache" + "Response 3 comes from cache" ], + "invalidate-M-SEARCH-failed": true, "invalidate-M-SEARCH-location": [ "Assertion", "Response 3 comes from cache" ], - "invalidate-POST": true, - "invalidate-POST-cl": [ + "invalidate-POST": [ "Assertion", "Response 3 comes from cache" ], - "invalidate-POST-failed": [ + "invalidate-POST-cl": [ "Assertion", - "Response 3 does not come from cache" + "Response 3 comes from cache" ], + "invalidate-POST-failed": true, "invalidate-POST-location": [ "Assertion", "Response 3 comes from cache" ], - "invalidate-PUT": true, - "invalidate-PUT-cl": [ + "invalidate-PUT": [ "Assertion", "Response 3 comes from cache" ], - "invalidate-PUT-failed": [ + "invalidate-PUT-cl": [ "Assertion", - "Response 3 does not come from cache" + "Response 3 comes from cache" ], + "invalidate-PUT-failed": true, "invalidate-PUT-location": [ "Assertion", "Response 3 comes from cache" diff --git a/results/squid.json b/results/squid.json index a85148f..56f65a1 100644 --- a/results/squid.json +++ b/results/squid.json @@ -91,7 +91,7 @@ "cdn-date-update-exceed": true, "cdn-expires-update-exceed": [ "Assertion", - "Response 2 header Expires is \"null\", not \"Mon, 25 Dec 2023 12:08:16 GMT\"" + "Response 2 header Expires is \"null\", not \"Tue, 09 Jul 2024 00:51:04 GMT\"" ], "cdn-fresh-cc-nostore": [ "Assertion", diff --git a/results/trafficserver.json b/results/trafficserver.json index fabd180..01a0da3 100644 --- a/results/trafficserver.json +++ b/results/trafficserver.json @@ -97,7 +97,7 @@ "cdn-date-update-exceed": true, "cdn-expires-update-exceed": [ "Assertion", - "Response 2 header Expires is \"null\", not \"Mon, 25 Dec 2023 12:09:35 GMT\"" + "Response 2 header Expires is \"null\", not \"Tue, 09 Jul 2024 01:02:07 GMT\"" ], "cdn-fresh-cc-nostore": [ "Assertion", diff --git a/results/varnish.json b/results/varnish.json index eda43f6..1b10d18 100644 --- a/results/varnish.json +++ b/results/varnish.json @@ -124,7 +124,7 @@ "cdn-date-update-exceed": true, "cdn-expires-update-exceed": [ "Assertion", - "Response 2 header Expires is \"null\", not \"Mon, 25 Dec 2023 12:14:56 GMT\"" + "Response 2 header Expires is \"null\", not \"Tue, 09 Jul 2024 01:02:40 GMT\"" ], "cdn-fresh-cc-nostore": [ "Assertion",