WebPagetest Forums
wpt reports no max-age and expire headers when they exist - Printable Version

+- WebPagetest Forums (https://www.webpagetest.org/forums)
+-- Forum: WebPagetest (/forumdisplay.php?fid=7)
+--- Forum: Bugs/Issues (/forumdisplay.php?fid=10)
+--- Thread: wpt reports no max-age and expire headers when they exist (/showthread.php?tid=16045)

wpt reports no max-age and expire headers when they exist - jbaptiste - 04-30-2020 08:16 AM


I'm testing a website behind Akamai, downstream cacheability for static objects is explicitly set to a fixed value of 7 days (the same as the edge TTL), I can see the cache-control: max-age and expires headers correctly being set but wpt reports they are missing, for example:

FAILED - (No max-age or expires) - https://www.gef.com.co/wcsstore/DefaultStorefrontAssetStore8/images/colors/Gef/favicon.ico

But if you look at that URL you can see that a) it is being cached on the CDN, and b) both cache-control: max-age and expires headers are present with correct values:

accept-ranges: bytes
cache-control: max-age=604800
content-encoding: gzip
content-length: 83
content-type: image/x-icon
date: Wed, 29 Apr 2020 22:09:03 GMT
etag: "1000000009c22-13e-593c5e768bd7c"
expires: Wed, 06 May 2020 22:09:03 GMT
last-modified: Mon, 30 Sep 2019 14:18:03 GMT
status: 200
vary: Accept-Encoding
x-akamai-staging: ESSL
x-cache: TCP_HIT from a23-50-49-28.deploy.akamaitechnologies.com

So I don't understand why wpt report those headers as missing from the request. This is the full test result:


NOTE: This test is against the CDN staging network, so if someone wants to test from their browser please check the test script for the IP address to be used.

Thanks in advance.

RE: wpt reports no max-age and expire headers when they exist - broen - 06-10-2020 11:37 PM


I think I have the same problem for this url, WTP doesn't find a max-age or expires header:
FAILED - (No max-age or expires) - https://www.example.com/uploads/s/cms_image/001/576/158/1576158088_5df24388a9d31-thumb.svg

While on the detail page you can see those headers...
Request 22: https://ww.example.com/uploads/s/cms_image/001/576/158/1576158088_5df24388a9d31-thumb.svg
Response Headers:

status: 200
set-cookie: __cfduid=da8d102f34c8cbf8c095db07cc4c740d11591793743; expires=Fri, 10-Jul-20 12:55:43 GMT; path=/; domain=.cdn.galaxy.tf; HttpOnly; SameSite=Lax; Secure
cf-cache-status: HIT
expires: Sat, 20 Mar 2021 10:42:06 GMT
vary: Accept-Encoding
last-modified: Thu, 12 Dec 2019 13:40:43 GMT
date: Wed, 10 Jun 2020 12:55:43 GMT
cf-ray: 5a133f8f2f220746-FRA
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
content-encoding: br
age: 7092817
strict-transport-security: max-age=15768000
cf-request-id: 033fe60d7c00000746da9ee200000001
server: cloudflare
etag: W/"28f1-59981e44ed59b"
cache-control: max-age=604800
content-type: image/svg+xml
:status: 200

Report's links:
Any idea ? false positive ?


RE: wpt reports no max-age and expire headers when they exist - jbaptiste - 07-10-2020 02:38 AM


I had not noticed that the explanation is right there at the end of the Performance Review page in the Glossary:
Quote:Cache Static
Applicable Objects: Any non-html object with a mime type of "text/*", "*javascript*" or "image/*" that does not explicitly have an Expires header of 0 or -1, a cache-control header of "private", "no-store" or "no-cache" or a pragma header of "no-cache"
What is checked: An "Expires" header is present (and is not 0 or -1) or a "cache-control: max-age" directive is present and set for an hour or greater. If the expiration is set for less 7 days you will get a warning. If the expiration is set for less than 1 hour you will get a failure. This only applies to max-age currently.