Headers: CSP.worker-src
Content-Security-Policy: worker-src directive
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since May 2022.
The HTTP Content-Security-Policy (CSP) worker-src directive specifies valid sources for Worker, SharedWorker, or ServiceWorker scripts.
| CSP version | 3 |
|---|---|
| Directive type | Fetch directive |
| Fallback | If this directive is absent, the user agent will first look for the |
Syntax
Content-Security-Policy: worker-src 'none'; Content-Security-Policy: worker-src <source-expression-list>;
This directive may have one of the following values:
'none'-
No resources of this type may be loaded. The single quotes are mandatory.
<source-expression-list>-
A space-separated list of source expression values. Resources of this type may be loaded if they match any of the given source expressions. For this directive, the following source expression values are applicable:
Examples
>Violation cases
Given this CSP header:
Content-Security-Policy: worker-src https://example.com/
Worker, SharedWorker, ServiceWorker are blocked and won't load:
<script>
let blockedWorker = new Worker("data:text/javascript,…");
blockedWorker = new SharedWorker("https://not-example.com/");
navigator.serviceWorker.register("https://not-example.com/sw.js");
</script>
Specifications
| Specification |
|---|
| Content Security Policy Level 3> # directive-worker-src> |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
worker-src |
59Chrome 59 and higher skips the deprecatedchild-src directive. |
79 | 58 | 46Opera 46 and higher skips the deprecatedchild-src directive. |
15.5 | 59Chrome Android 59 and higher skips the deprecatedchild-src directive. |
58 | 43Opera Android 43 and higher skips the deprecatedchild-src directive. |
15.5 | 7.0 | 59WebView Android 59 and higher skips the deprecatedchild-src directive. |
15.5 |
See also
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/worker-src