Unter einem Service Worker versteht man eine Technologie, bei der durch ein JavaScript zwischen Browser und einem genutzten Webserver ein Proxy zur Verfügung gestellt wird. Dieser lässt sich vielseitig einsetzen.
Der bekannteste und am häufigsten genutzte Einsatzzweck von Service Workern ist es, Seiteninhalte aus dem Web für den User auch offline verfügbar zu machen. Das heißt, er kann die Inhalte selbst dann aufrufen, wenn aktuell keine Internetverbindung besteht. Hierfür muss der User die entsprechende Seite lediglich schon einmal online besucht haben. Bei diesem Besuch werden die Inhalte von Service Workern gecacht.
Weiterhin gehören zu den Anwendungsmöglichkeiten von Service Workern das Versenden von Push-Benachrichtigungen der ihm zugeteilten Seiten sowie die Integration in sogenannte Progressive Web Apps. Bei Letzteren handelt es sich um eine Symbiose aus App und klassischer responsiver Webseite, für die durch Nutzung eines Service Workers Funktionen offline verfügbar gemacht werden können.
Eigenschaften und Technik eines Service Workers
Bei Service Workern handelt es sich um eine spezielle Art von Web Workern. Sie ermöglichen es, JavaScript komplett unabhängig vom Hauptthread auszuführen. Besonderheit des Service Workers ist es, dass er eigenständig bestimmte Aufgaben für die ihm zugeteilte Seite ausführen kann. Er ist unter anderem auch dann aktiv, wenn der User aktuell keine dieser Seiten aufgerufen hat.
Damit keine missbräuchliche Nutzung eines Service Workers als sogenannter Man in the Middle erfolgen kann, der unbemerkt Daten des Nutzers an Dritte weiterleitet, ist der Betrieb solcher Scripte nur innerhalb eines verschlüsselten Kontextes möglich. In aller Regel handelt es sich hierbei um das HTTPS-Protokoll.
Um den Einsatz von Service Workern zu ermöglichen, müssen diese zunächst über die JavaScript Konsole registriert werden. Hierbei kann zum Beispiel festgelegt werden, ob das Script für alle Seiten einer Domain arbeiten soll oder nur für einen bestimmten Pfad. Anschließend lädt der Browser die angegebene Script-Datei herunter und installiert sie. Nach der Installation stellt das Script seine Ressourcen in Zukunft allen ihm zugeteilten Webseiten zur Verfügung. Wurden Seiten bereits vor der Installation im Browser aufgerufen, müssen sie zunächst neu geladen werden. Erst dann profitieren sie von der Funktionalität eines kürzlich installierten Service Workers.
Nahezu alle modernen Browser unterstützen den Einsatz von Service Workern zumindest grundlegend. Sie unterscheiden sich vor allem in den für das Debugging von Service Workern genutzten Werkzeugen.