HTTP Origin-Agent-Cluster Header

Typ

Der Origin-Agent-Cluster-Header ist ein HTTP-Response-Header, der dem Browser signalisiert, dass die Website in einem origin-keyed Agent Cluster isoliert werden soll, für verbesserte Process-Isolation und Security-Boundaries.

Syntax

Der Origin-Agent-Cluster-Header ist ein parameterloser Boolean-Header, der mit einem Fragezeichen und dem Wert 1 gesetzt wird, um origin-basierte Clustering-Isolation zu aktivieren.

http
Origin-Agent-Cluster: ?1

Direktiven

Der Origin-Agent-Cluster-Header unterstützt nur eine Direktive, die origin-keyed Agent Cluster aktiviert, kritisch für Multi-Tenant-API-Plattformen und hochsichere Web-Applications mit strengen Isolation-Requirements.

?1
Aktiviert origin-keyed Agent Clusters, sodass der Browser die Website in einem dedizierten Process-Cluster isoliert, der nur mit Pages der gleichen Origin geteilt wird, nicht mit site-weiten Clustern.

Beispiele

Die folgenden Beispiele zeigen Origin-Agent-Cluster-Konfigurationen für Multi-Tenant-SaaS-Plattformen, API-gestützte Dashboards und unterschiedliche Security-Isolation-Strategien.

Origin-Isolation für Multi-Tenant-SaaS-Dashboard

http
HTTP/1.1 200 OK
Origin-Agent-Cluster: ?1
Content-Security-Policy: default-src 'self'
X-Frame-Options: DENY
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<html>
<head>
  <title>Tenant A - API Management Dashboard</title>
</head>
<body>
  <div id="app"><!-- SaaS dashboard content --></div>
</body>
</html>

Origin-Isolation für API-gesteuerte High-Security Application

http
HTTP/1.1 200 OK
Origin-Agent-Cluster: ?1
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Type: application/json
Cache-Control: private, no-store

{
  "sessionId": "sess-abc123",
  "securityLevel": "high",
  "features": {
    "processIsolation": true
  }
}

Standard Site-Keyed Clustering (ohne Origin-Agent-Cluster)

http
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=3600

<!DOCTYPE html>
<html>
<head>
  <title>Public Content Page</title>
</head>
<body>
  <article>Public content shared across site...</article>
</body>
</html>

Origin-Keyed Agent Cluster Isolation Flow

Der Ablauf zeigt, wie Browser origin-keyed Agent Clusters erstellen und Pages aus unterschiedlichen Origins in separaten Process-Clustern isolieren, für verbesserte Security-Boundaries.

plantuml
@startuml
actor User
participant Browser
participant "Browser Process Manager" as Manager
participant "Origin A Cluster" as ClusterA
participant "Origin B Cluster" as ClusterB
participant "API Server A" as APIA
participant "API Server B" as APIB

User -> Browser: Navigate to https://tenant-a.example.com
Browser -> APIA: GET /dashboard
APIA --> Browser: 200 OK\nOrigin-Agent-Cluster: ?1
Browser -> Manager: Request Agent Cluster
Manager -> Manager: Check Origin-Agent-Cluster header
Manager -> ClusterA: Create/Reuse Origin-Keyed Cluster\n(Origin: https://tenant-a.example.com)
ClusterA -> ClusterA: Isolate in dedicated process
ClusterA --> Browser: Page loaded in isolated cluster

== User opens another tab ==

User -> Browser: Navigate to https://tenant-b.example.com
Browser -> APIB: GET /dashboard
APIB --> Browser: 200 OK\nOrigin-Agent-Cluster: ?1
Browser -> Manager: Request Agent Cluster
Manager -> ClusterB: Create Separate Origin-Keyed Cluster\n(Origin: https://tenant-b.example.com)
ClusterB -> ClusterB: Isolate in separate process
note right: Origins A and B are\nprocess-isolated from each other

@enduml

Vorteile für die Systemarchitektur

  • Erhöht Security-Boundaries zwischen Origins durch Process-Level-Isolation
  • Verhindert Side-Channel-Angriffe wie Spectre zwischen unterschiedlichen Tenants
  • Ermöglicht synchronous APIs (wie document.domain) sicher innerhalb der Origin zu nutzen
  • Reduziert Cross-Origin-Leakage-Risiken in Multi-Tenant-SaaS-Architekturen
  • Kompatibel mit Cross-Origin-Isolation-Strategien wie COOP und COEP für maximale Sicherheit

Spezifikation

Der Origin-Agent-Cluster-Header ist in der HTML Standard Specification definiert und ermöglicht origin-basierte Process-Isolation für verbesserte Security-Boundaries in modernen Multi-Tenant-Web-Applications und API-Plattformen.

Weitere Spezifikationen

Cross-Origin-Opener-Policy Header, Content-Security-Policy Header