What’s the difference between Expires and Cache-Control headers?
Cache-Control was defined in HTTP/1.1, tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds: Cache-Control: max-age=3600.
The Expires header field gives the date/time after which the response is considered stale. The Expires value is an HTTP-date timestamp: Expires: Tue, 18 Jul 2017 16:07:23 GMT.
If a response includes a Cache-Control field with the max-age directive, a recipient MUST ignore the Expires field.