Subject: #292: Pragma

From: Mark Nottingham <[email-masked]>
Date: Thu, 12 May 2011 12:37:52 +1000

OK, I've split this into a separate ticket <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/292>.

I think this is where we're at (incorporating feedback to date):

"""
3.4.  Pragma

The "Pragma" header field allows backwards compatibility with HTTP/1.0 caches, so that clients can specify a "no-cache" request that they will understand (as Cache-Control was not defined until HTTP/1.1). When the Cache-Control header is also present and understood in a request, Pragma is ignored. 

In HTTP/1.0, Pragma was defined as an extensible field for implementation-specified directives for recipients. This specification deprecates such extensions to improve interoperability. 

    Pragma           = 1#pragma-directive
    pragma-directive = "no-cache" / extension-pragma
    extension-pragma = token [ "=" ( token / quoted-string ) ]

When the Cache-Control header is not present in a request, the no-cache request pragma-directive MUST have the same effect on caches as if "Cache-Control: no-cache" were present.

When sending a no-cache request, a client SHOULD include both pragma and cache-control directives unless Cache-Control: no-cache is purposefully omitted to target other Cache-Control response directives at HTTP/1.1 caches. For example:

GET / HTTP/1.1
Host: www.example.com
Cache-Control: max-age=30
Pragma: no-cache

will constrain HTTP/1.1 caches to serve a response no older than 30 seconds, while precluding implementations that do not understand Cache-Control from serving a cached response.

Note: Because the meaning of "Pragma: no-cache" in responses is not specified, it does not provide a reliable replacement for "Cache-Control: no-cache" in them.

"""

Look OK?

--
Mark Nottingham   http://www.mnot.net/

---

From: Mark Nottingham <[email-masked]>
Date: Fri, 20 May 2011 12:29:08 +1000

Incorporated with:
  http://trac.tools.ietf.org/wg/httpbis/trac/changeset/1284