While investigating crbug.com/611416#c57 I build a glitch demo to test cache-control:immutable behavior: https://cache-control-immutable-test.glitch.me It appears that safari 12 triggers a revalidation for fetch({cache: 'no-cache'}) even if the response has cache-control:immutable. Neither Firefox or Edge 18 do this. In addition, I believe there was some consensus for making fetch({cache:'no-cache'}) respect immutable in (although I might be reading it in a biased way): https://github.com/whatwg/fetch/issues/308 (I'm putting this in service workers since fetch() is used there. Not sure if there is a better component.)
<rdar://problem/51249843>