Die Feature-Policy war ein HTTP-Response-Header, mit dem Websites festlegen konnten, welche Browser-Features sie und eingebettete iframes verwenden dürfen. Sie ist der direkte Vorgänger der heutigen Permissions-Policy und gilt seit etwa 2020 als veraltet.
Was der Header kontrollierte
Wie sein Nachfolger betraf der Header sensible Fähigkeiten des Browsers: Kamera, Mikrofon, Geolocation, Payment-API, Autoplay, Fullscreen, USB, MIDI und weitere. Die Idee war das Least-Privilege-Prinzip: Eine Seite aktiviert nur die Features, die sie wirklich benötigt, und schränkt Dritt-Inhalte wie Werbung oder Widgets ein.
Syntax
Die Allowlist-Werte wurden in Anführungszeichen geschrieben, die heutige Klammer-Syntax gab es noch nicht:
Feature-Policy: camera 'none'; geolocation 'self'; payment 'self' https://example.com
'none'— niemand darf das Feature nutzen, auch die eigene Seite nicht.'self'— nur die eigene Origin.- Explizite Origins — nur die gelisteten Origins.
Warum er abgelöst wurde
Die Spezifikation wurde zu Permissions-Policy weiterentwickelt: Der Name änderte sich, und die Syntax wurde auf Structured Fields umgestellt (camera=(self) statt camera 'self'). Einige Browser interpretieren den alten Header aus Rückwärtskompatibilität noch, die Weiterentwicklung ist jedoch eingestellt. Firefox und Safari unterstützten die Feature-Policy nie vollständig.
Verwandte Grundlagen: Content-Security-Policy, HTTP, HTTPS, Browser, JavaScript-Befehle.