If the client determines, for any reason, that it does not wish to
   receive the pushed resource from the server, or if the server takes
   too long to begin sending the promised resource, the client can send
   an RST_STREAM frame, using either the CANCEL or REFUSED_STREAM codes,
   and referencing the pushed stream's identifier.

   A client can use the SETTINGS_MAX_CONCURRENT_STREAMS setting to limit
   the number of resources that can be concurrently pushed by a server.
   Advertising a SETTINGS_MAX_CONCURRENT_STREAMS value of zero disables
   server push by preventing the server from creating the necessary
   streams.  This does not prohibit a server from sending PUSH_PROMISE
   frames; clients need to reset any promised streams that are not

As per above, the browser currently can only set max concurrent
streams to limit the amount of data pushed to it but perhaps better is
to set a max size of file that the browser is willing to accept via
server push. That way a browser can adjust the amount of data pushed
to it depending on its available cache space. So, for instance, a
browser on a small device would set MAX_PUSH_RESOURCE_SIZE setting to
a value lower than a browser on a PC with lots of storage.



Received on Monday, 4 November 2013 18:00:32 UTC