HTTP Permissions-Policy xr-spatial-tracking

Typ

Die xr-spatial-tracking-Direktive steuert den Zugriff auf WebXR Spatial Tracking für immersive VR/AR-Experiences.

Syntax

Die Direktive definiert eine Allowlist für Ursprünge, die WebXR Spatial Tracking verwenden dürfen.

http
Permissions-Policy: xr-spatial-tracking=(self)
Permissions-Policy: xr-spatial-tracking=(self "https://vr.platform.com")
Permissions-Policy: xr-spatial-tracking=()

Direktiven

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

self
Erlaubt XR-Spatial-Tracking 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://game.webxr-platform.example.com", die zusätzlich zum Hauptdokument XR-Tracking verwenden dürfen. Für WebXR-Game-Engines.

Beispiele

Die folgenden Beispiele zeigen typische Anwendungsfälle für WebVR-Games, AR-Visualisierung und immersive Experiences.

WebVR-Game mit Room-Scale-Tracking

Ein VR-Spiel nutzt WebXR Spatial Tracking für 6DOF-Head-Tracking und Controller-Positionierung.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: xr-spatial-tracking=(self), accelerometer=(self), gyroscope=(self)

<!DOCTYPE html>
<html>
<head><title>VR Adventure</title></head>
<body>
  <button id="enter-vr">Enter VR</button>
  <script>
    document.getElementById('enter-vr').addEventListener('click', async () => {
      const xrSession = await navigator.xr.requestSession('immersive-vr', {
        requiredFeatures: ['local-floor', 'bounded-floor']
      });

      xrSession.requestReferenceSpace('local-floor').then(refSpace => {
        // Setup VR rendering with spatial tracking
      });
    });
  </script>
</body>
</html>

AR-Product-Visualization-Widget

Eine E-Commerce-Plattform erlaubt einem AR-Viewer Spatial Tracking für Produktvisualisierung.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: xr-spatial-tracking=(self "https://ar-viewer.shop.example.com")

<!DOCTYPE html>
<html>
<head><title>Product AR Preview</title></head>
<body>
  <iframe src="https://ar-viewer.shop.example.com/furniture/chair-123"
          allow="xr-spatial-tracking; camera"></iframe>
</body>
</html>

REST-API ohne XR-Support

Ein API-Endpunkt deaktiviert alle XR-APIs.

http
HTTP/1.1 200 OK
Content-Type: application/json
Permissions-Policy: xr-spatial-tracking=()

{
  "status": "success",
  "product_model_url": "https://cdn.example.com/model.glb"
}

Vorteile für die Systemarchitektur

  • Ermöglicht immersive VR/AR-Experiences mit präzisem Spatial Tracking
  • Verhindert unerwünschten XR-Tracking-Zugriff durch Drittanbieter
  • Unterstützt Room-Scale-VR und AR-Experiences im Browser
  • Reduziert Privacy-Risiken durch Kontrolle über Raum-Mapping

Spezifikation

Definiert in der W3C WebXR Device API Spezifikation. Erfordert HTTPS und XR-Hardware-Support. Chromium-basierte Browser mit WebXR-fähigen Geräten.

Weitere Spezifikationen

Permissions-Policy Header, Content-Security-Policy Header