Push and Caching

Something we remarked on internally a while ago, but I keep forgetting to raise with the WG....  We had a discussion with Martin a long time ago about caching and push - specifically, that you can push a response to a cacheable request, regardless of whether the *response* is cacheable.

Martin said (off-list):
You'll note that the text does not prohibit what you describe there :)

The text says that the request needs to be cacheable.  It also says that the method needs to be cacheable.  It says nothing about the response.

Pushing a response with Cache-Control: nocache is perfectly OK.

However, the spec does now prohibit exactly that, in 8.2:
A server can only push responses that are cacheable (see [RFC7234]<http://http2.github.io/http2-spec/#RFC7234>, Section 3<https://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7234.html#response.cacheability>); promised requests MUST be safe (see [RFC7231]<http://http2.github.io/http2-spec/#RFC7231>, Section 4.2.1<https://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7231.html#safe.methods>) and MUST NOT include a request body.

I missed when that change happened.  Can someone with better git-fu remind me?  Was there list discussion?

Received on Tuesday, 19 August 2014 15:22:06 UTC