Ho letto l'addetto all'assistenza per il caching offline simile alla memorizzazione nella cache del browser. Quindi, perché preferire l'addetto all'assistenza per questo caching. Anche il caching del browser controlla se il file è modificato o meno e quindi viene fornito dalla cache, mentre l'addetto all'assistenza sta gestendo la stessa cosa dal nostro codice. Ma per impostazione predefinita il browser ha questa caratteristica, quindi perché preferire l'addetto all'assistenza?Perché utilizzare l'addetto all'assistenza per la memorizzazione nella cache quando la cache del browser gestisce la memorizzazione nella cache?
15
A
risposta
9
I lavoratori del servizio forniscono il controllo completo sulle richieste di rete. È possibile restituire tutto ciò che si desidera per l'evento di recupero, non è necessario che sia il contenuto passato o corrente di quel particolare file.
Tuttavia, se la cache del browser gestisce le proprie esigenze, non si ha l'obbligo di utilizzare i lavoratori del servizio.
Sono anche utilizzati per cose come le notifiche push.
Documentazione: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API, https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers
1
ho voluto condividere i punti che ho osservato mentre passa attraverso la documentazione operaio di servizio e messa in atto.
- La cache del browser è diversa, poiché l'addetto al servizio supporta la cache offline, la webapp accederà al contenuto memorizzato nella cache, anche se la rete non è disponibile.
- L'addetto all'assistenza fornirà un'esperienza nativa.
- L'addetto all'assistenza non può modificare il contenuto DOM ma può ancora servire le pagine nell'ambito del suo ambito. Con l'aiuto di eventi come postMessage, è possibile accedere alla pagina e il DOM può essere modificato.
- L'addetto all'assistenza non richiede l'interazione dell'utente o la pagina Web. Viene eseguito in background.
I secondo il "controllo completo sulle richieste di rete". Gli addetti all'assistenza possono fare cose come manipolare le intestazioni e una risorsa con un'altra (ad esempio se non in linea) che la cache del browser non può fare. Se tutto ciò di cui hai bisogno è una cache browser standard, non c'è motivo di re-implementarla come operatore di servizio: non sarà più veloce o facile da usare. – mjs