Stop using (HTTP 1.0) |
Replaced with (HTTP 1.1 since 1999) |
Expires: [date] |
Cache-Control: max-age=[seconds] |
Pragma: no-cache |
Cache-Control: no-cache |
If it's after 1999, and you're still using Expires or Pragma, you're doing it wrong.
I'm looking at you Stackoverflow:
200 OK
Pragma: no-cache
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
X-Request-Guid: a3433194-4a03-4206-91ea-6a40f9bfd824
Strict-Transport-Security: max-age=15552000
Content-Length: 54
Accept-Ranges: bytes
Date: Tue, 03 Apr 2018 19:03:12 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-yyz8333-YYZ
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1522782193.766958,VS0,VE30
Vary: Fastly-SSL
X-DNS-Prefetch-Control: off
Cache-Control: private
tl;dr: Pragma
is a legacy of HTTP/1.0 and hasn't been needed since Internet Explorer 5, or Netscape 4.7. Unless you expect some of your users to be using IE5: it's safe to stop using it.
- Expires:
[date]
(deprecated - HTTP 1.0)
- Pragma: no-cache (deprecated - HTTP 1.0)
- Cache-Control: max-age=
[seconds]
- Cache-Control: no-cache (must re-validate the cached copy every time)
And the conditional requests:
- Etag (entity tag) based conditional requests
- Server:
Etag: W/“1d2e7–1648e509289”
- Client:
If-None-Match: W/“1d2e7–1648e509289”
- Server:
304 Not Modified
- Modified date based conditional requests
- Server:
last-modified: Thu, 09 May 2019 19:15:47 GMT
- Client:
If-Modified-Since: Fri, 13 Jul 2018 10:49:23 GMT
- Server:
304 Not Modified
last-modified: Thu, 09 May 2019 19:15:47 GMT