HTTP Permissions-Policy compute-pressure

Typ

Die compute-pressure-Direktive steuert den Zugriff auf die Compute Pressure API zur Überwachung der CPU-Auslastung.

Syntax

Die Direktive definiert eine Allowlist für Ursprünge, die CPU-Druckdaten abfragen dürfen.

http
Permissions-Policy: compute-pressure=(self)
Permissions-Policy: compute-pressure=(self "https://analytics.com")
Permissions-Policy: compute-pressure=()

Direktiven

Die Direktive unterstützt Standard-Allowlist-Werte für präzise Zugriffssteuerung.

self
Erlaubt Compute-Pressure-Zugriff nur für das Hauptdokument des gleichen Ursprungs. Eingebettete iFrames von anderen Ursprüngen werden blockiert.
origin-list
Liste von Ursprüngen in Anführungszeichen, z.B. "https://performance-monitor.example.com", die zusätzlich zum Hauptdokument Zugriff erhalten. Für Performance-Monitoring-Dienste.

Beispiele

Die folgenden Beispiele zeigen typische Anwendungsfälle für adaptive Performance-Optimierung und Video-Streaming.

Video-Streaming-App mit adaptiver Qualität

Eine Video-Streaming-Plattform passt Stream-Qualität basierend auf CPU-Auslastung an.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: compute-pressure=(self)

<!DOCTYPE html>
<html>
<head><title>Video Streaming</title></head>
<body>
  <video id="player" controls></video>
  <script>
    const observer = new PressureObserver((records) => {
      const lastRecord = records[records.length - 1];
      if (lastRecord.state === 'critical') {
        // Reduce video quality
        player.src = '/video-low.mp4';
      }
    });
    observer.observe('cpu');
  </script>
</body>
</html>

Gaming-Plattform mit Performance-Monitoring

Eine Cloud-Gaming-Plattform monitort CPU-Druck für adaptive Rendering-Qualität.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: compute-pressure=(self "https://game-engine.cloud.com")

<!DOCTYPE html>
<html>
<head><title>Cloud Gaming</title></head>
<body>
  <iframe src="https://game-engine.cloud.com/player"
          allow="compute-pressure"></iframe>
</body>
</html>

REST-API ohne System-Monitoring

Ein API-Endpunkt deaktiviert alle System-Monitoring-APIs für maximale Privacy.

http
HTTP/1.1 200 OK
Content-Type: application/json
Permissions-Policy: compute-pressure=(), idle-detection=()

{
  "status": "success",
  "data": []
}

Vorteile für die Systemarchitektur

  • Ermöglicht adaptive Performance-Optimierung basierend auf Gerätezustand
  • Verhindert Fingerprinting durch CPU-Auslastungsdaten von Drittanbietern
  • Unterstützt dynamische Qualitätsanpassung für Streaming und Gaming
  • Reduziert Battery-Drain durch intelligente Ressourcen-Verwaltung

Spezifikation

Definiert in der W3C Compute Pressure API Spezifikation. Experimenteller Status, verfügbar in Chromium-basierten Browsern als Origin Trial.

Weitere Spezifikationen

Permissions-Policy Header, Content-Security-Policy Header