Angenommen, der Kunde dieseServicemitarbeiter und Client-Anforderungen 'Cache-Control': 'no-cache'
fetch('example.json', {
headers: {
'Accept': 'application/json',
'Accept-Encoding': 'gzip',
'Cache-control': 'no-cache'
},
method: 'GET'
}).then()
tut Und der Server Arbeiter tut dies
self.addEventListener('fetch', (event:any) => {
let request = event.request
if (request.method !== 'GET') return
event.respondWith(caches.match(request)
.then(cachedResponse => {
if (cachedResponse) return cachedResponse
return caches.open(RUNTIME)
.then(cache => fetch(request)
.then(response => cache.put(request, response.clone())
.then(() => response)))
}))
})
Kann ich davon ausgehen caches.match(request)
wird Abbildung aus 'Cache-control': 'no-cache'
und einfach nur aussteigen, was im Service-Arbeiter-Cache gespeichert ist?
Welche Browser-Anbieter haben den Eindruck, dass sie gegen Service-Mitarbeiter sind? – sideshowbarker
Vielleicht gegen ist das falsche Wort, ich werde es zu zögerlich ändern http://caniuse.com/#search=serviceworker –
OK ja ich denke, das zeigt nur, Microsoft und Apple haben nicht die Ressourcen in die Umsetzung es noch. Die Implementierung von Service Workern erfordert viel Entwicklungsaufwand und beinhaltet die Berührung des gesamten Caching-Codes, der überall in der Browser-Engine verteilt ist, und muss sorgfältig ausgeführt werden, um das Risiko von Sicherheits-Exploits zu vermeiden. Aber wie auch immer, Microsoft und Apple werden es schließlich implementieren – sideshowbarker