>>>>> On Thu, 7 Aug 2014 16:26:18 +1000, Greg Wilkins <gregw_at_intalio.com> said:
GW> Clients receiving a push promise can decide that they already have the
GW> resource (or don't need it) and reset the new stream, or they can accept
GW> the new streams data and typically use it to populate their cache. So
GW> essentially http2 push is a way for a server to preload a clients
GW> cache.
This is a great summary of the intent of the feature from the http2
perspective. This blog entry from http2 google developer advocate Igor
Griorik shows this intent in action:
https://www.igvita.com/2013/06/12/innovating-with-http-2.0-server-push/
I think we have an opportunity here for Servlet to support framework
authors who want to intelligently use this feature. In my role as
steward of the JSF spec I can see server push being used very
effectively. Frameworks that build on Servlets (such as JSF) are in a
great position to take advantage of this because they have a priori
knowledge of the resources that go along with a page before the browser
knows to fetch them.
But I have a fundamental question about this that I'm confident Greg can
answer. If the server is going to pre-push resources that go along with
a page, how can the server know if the user-agent already has an
up-to-date copy of the resource in its cache? In the case where the
user-agent already has the resource, pre-pushing it would be a waste of
bandwidth. How does http2 deal with this very fundamental problem?
Thanks,
Ed
--
| edward.burns_at_oracle.com | office: +1 407 458 0017
| 29 work days til JavaOne 2014