Knowledge base

Understanding HTTP Headers

In UNIX based systems you can use "curl -I -X GET [url]" to check your file headers. (CDN servers require making a GET request to initiate caching)

For example:

curl -I -X GET https://www.cdn77.com/_next/static/css/05de4488a1724d78544e.css

With Response:

HTTP/2 200
date: Thu, 04 Mar 2021 09:30:33 GMT
content-type: text/css; charset=UTF-8
content-length: 62827
alt-svc: quic="185.152.65.22:443"; ma=2592000; v="44,43,39"
cache-control: max-age=31536000
last-modified: Wed, 03 Mar 2021 11:09:13 GMT
etag: W/"f56b-177f7c70ba8"
vary: Accept-Encoding
expires: Thu, 03 Mar 2022 11:14:45 GMT
server: CDN77-Turbo
strict-transport-security: max-age=31536000
x-77-nzt: AbmYQRYIvKvvFDkBAA==
x-77-nzt-ray: 0bO89u0QJdU=
x-77-cache: MISS
x-77-pop: pragueCZ
accept-ranges: bytes

That means https://www.cdn77.com/_next/static/css/05de4488a1724d78544e.css isn't cached, because of the "X-Cache: MISS" value.

If you repeat the command and the result will change into the following:

x-77-age: 10
x-77-cache: HIT
x-77-pop: pragueCZ

However, if you see "X-Cache: MISS" after several tests, it means the file will not be cached in the CDN PoP at all.

Here are few example headers which restrict cache settings:

Cache-Control: max-age=600 - the file will be cached for 600 seconds

Cache-Control: no-cache or Cache-Control: max-age=0 - the file will never be cached in our CDN PoP

Are you not sure how to set correct cache-control headers? Check our guide.

Can’t find what you are looking for?