Web 服务器能否阻止其服务的页面安装 Service Worker?

Can a web server prevent pages it serves from installing service workers?

假设有一个 Web 服务器在某些路径下托管任意用户控制的内容 - publicIPFS 网关就是让我想到这个的例子。该服务器是否有可能阻止其服务的页面在客户端上安装服务工作者(从而为非用户控制的路径欺骗内容)?

有一些有用的信息in the service worker specification:

An HTTP request to fetch a service worker's script resource will include the following header:

Service-Worker Indicates this request is a service worker's script resource request.

Note: This header helps administrators log the requests and detect threats.

如果您想确保您的网络服务器不允许任何服务工作者注册,一种方法是检查传入请求的 Service-Worker header 并让您的Web 服务器 return 一个适当的 HTTP 错误响应(任何 4xx5xx 都可以工作——也许 403412?)只要你检测到它。