HTTP Sec-CH-UA-Arch Header

Der HTTP-Header Sec-CH-UA-Arch ist ein High-Entropy Request-Header aus den User Agent Client Hints, der die CPU-Architektur des Geräts übermittelt. Server können damit architektur-spezifische Binaries oder WebAssembly-Module ausliefern. Dieser Header wird nur nach explizitem Opt-In via Accept-CH gesendet.

Typ

Request-Header

Syntax

Der Header gibt die CPU-Architektur als Quoted String an.

http
Sec-CH-UA-Arch: "x86"
Sec-CH-UA-Arch: "arm"

Direktiven

Die Direktiven definieren die zugrunde liegende Prozessor-Architektur des Geräts.

"x86"
Intel oder AMD x86-Architektur (32-bit oder 64-bit). Häufigste Desktop-Architektur für Windows und Linux PCs.
"arm"
ARM-basierte Prozessoren wie Apple Silicon M1/M2/M3, Qualcomm Snapdragon oder AWS Graviton. Dominiert Mobile und zunehmend auch Desktop-Geräte.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Sec-CH-UA-Arch-Header.

Beispiel 1 ARM MacBook Download

http
GET /download/app HTTP/1.1
Host: software.example.com
Sec-CH-UA-Arch: "arm"
Sec-CH-UA-Platform: "macOS"
Accept-CH: Sec-CH-UA-Arch

Apple Silicon Mac fordert Download an, Server liefert ARM64-Binary statt x86-Version mit Rosetta-Translation für bessere Performance.

Beispiel 2 WebAssembly Optimierung

http
GET /wasm/compute.wasm HTTP/1.1
Host: cdn.example.com
Sec-CH-UA-Arch: "x86"

Server wählt x86-optimiertes WASM-Modul mit SIMD-Extensions, das auf ARM-Chips nicht verfügbar wäre oder langsamer emuliert würde.

Beispiel 3 Server fordert Architecture an

http
HTTP/1.1 200 OK
Accept-CH: Sec-CH-UA-Arch, Sec-CH-UA-Bitness
Vary: Sec-CH-UA-Arch
Content-Type: text/html

<script>
  if (arch === "arm") {
    loadModule("native-arm64.wasm");
  }
</script>

Server setzt Accept-CH für zukünftige Requests und cached unterschiedliche Responses per Vary-Header basierend auf Architektur.

Architecture Detection Flow

CPU Architecture Client Hint Ablauf

Vorteile für die Systemarchitektur

  • Performance-Optimierung: Native Binaries für jeweilige Architektur vermeiden Emulations-Overhead von Rosetta 2 oder WoW64-Translation
  • WebAssembly Targeted Builds: SIMD-Extensions und architektur-spezifische Optimierungen können gezielt ausgeliefert werden für rechenintensive Apps
  • Bandbreiten-Einsparung: Universal Binaries mit mehreren Architekturen sind 2-3× größer, gezielte Auslieferung reduziert Download-Größe

Spezifikation

User-Agent Client Hints – WICG Draft https://wicg.github.io/ua-client-hints/

Weitere Spezifikationen

Sec-CH-UA Header, Accept-CH Header