CDN’s job is to Cache the content locally. This can be done with the Cache-Control headers.
The headers are:
The max-age request directive defines, in seconds, the amount of time it takes for a cached copy of a resource to expire. After expiring, a browser must refresh its version of the resource by sending another request to a server.
The no-cache directive means that a browser may cache a response, but must first submit a validation request to an origin server.
The no-store directive means browsers aren’t allowed to cache a response and must pull it from the server each time it’s requested. This setting is usually used for sensitive data, such as personal banking details.
The public response directive indicates that a resource can be cached by any cache.
The private response directive indicates that a resource is user specific—it can still be cached, but only on a client device. For example, a web page response marked as private can be cached by a desktop browser, but not a content delivery network (CDN).
Additional HTTP Cache Headers
Expires – This header specifies a fixed date/time for the expiration of a cached resource. The expires header is ignored when a cache-control header containing a max-age directive is present.
ETag – A response header that identifies the version of served content according to a token – a string of characters in quotes, e.g., “675af34563dc-tr34” – that changes after a resource is modified. If a token is unchanged before a request is made, the browser continues to use its local version.
Vary – A header that determines the responses that must match a cached resource for it to be considered valid. For example, the header Vary: Accept-Language, User-Agent specifies that a cached version must exist for each combination of user agent and language.