your browser still has to make the https connection to the cdn and request the file with a Last-Modified or Etag header so the server can return a 304 Not Modified response. This is the real cost, not the download size itself.
I'm not sure how often browsers choose to do this, but if you refresh a page, they all will.
[1]: http://bitsup.blogspot.de/2016/05/cache-control-immutable.ht...
Interestingly, it's being used by the BBC [2], who have reported a 10.8% reduction in 304 responses as a result [3]. Google have also stated their intention to use it (comment 11 in the same Chromium ticket).
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Ca...
[2] https://mybbc.files.bbci.co.uk/notification-ui/2.6.8-mvt//sv...
[3] https://bugs.chromium.org/p/chromium/issues/detail?id=611416
They may choose to "evict" it from the cache, but that's generally based on a policy of recent usage and needing to free up/prioritise disk space for more recent assets.
I'm now interested to see how different browsers handle refresh/force-refresh - whether they revalidate a file that's still considered fresh, and whether they set request-headers to bypass upstream caches too. Maybe an experiment for the xmas holidays :-)
i could not find a reliable way to make the 304 requests disappear using any available cache-related headers :/