If all the files are cached successfully, then the service worker becomes installed.
If any of the files fail to download and cache, then the install step will fail and the service worker won't activate (i.e. If that happens, don't worry, it'll try again next time.
To avoid this, you can only register service workers on pages served over HTTPS, so we know the service worker the browser receives hasn't been tampered with during its journey through the network.
Github Pages are served over HTTPS, so they're a great place to host demos.
During development you'll be able to use service worker through , but to deploy it on a site you'll need to have HTTPS setup on your server.