HTTP Sec-CH-UA-Bitness Header

Der HTTP-Header Sec-CH-UA-Bitness ist ein High-Entropy Request-Header aus den User Agent Client Hints, der die CPU-Bitness des Browsers übermittelt (32-Bit oder 64-Bit). Server können damit passende Binaries ausliefern oder Memory-intensive Features basierend auf verfügbarem Adressraum anpassen.

Typ

Request-Header

Syntax

Der Header gibt die Bitness als Quoted String mit numerischem Wert an.

http
Sec-CH-UA-Bitness: "64"
Sec-CH-UA-Bitness: "32"

Direktiven

Die Direktiven definieren die Bitness der CPU-Architektur und des Browser-Prozesses.

"64"
64-Bit Browser-Prozess mit Zugriff auf vollen Adressraum. Standard auf modernen Desktops und Servern. Kann mehr als 4 GB RAM adressieren.
"32"
32-Bit Browser-Prozess mit 4 GB Adressraum-Limit. Legacy-Systeme oder bewusst 32-Bit Builds für Kompatibilität. Speicher-intensive Apps sollten Features reduzieren.

Beispiele

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

Beispiel 1 64-Bit Native Binary Download

http
GET /download/installer.exe HTTP/1.1
Host: downloads.example.com
Sec-CH-UA-Bitness: "64"
Sec-CH-UA-Platform: "Windows"

Windows-PC fordert Installer an, Server liefert 64-Bit EXE mit erweiterten Features statt 32-Bit Kompatibilitäts-Version.

Beispiel 2 Memory-intensive WebApp Warnung

http
GET /editor HTTP/1.1
Host: photoedit.example.com
Sec-CH-UA-Bitness: "32"

32-Bit Browser erhält Warnung über Memory-Limits bei großen Bilddateien. Server empfiehlt Upgrade zu 64-Bit Browser für bessere Experience.

Beispiel 3 WASM Heap Size Anpassung

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

<script>
  const maxHeap = bitness === "64" ? 4096 : 512; // MB
  WebAssembly.instantiate(module, { memory: maxHeap });
</script>

Server passt WebAssembly Memory-Limits basierend auf Bitness an. 64-Bit kann 4 GB Heap nutzen, 32-Bit limitiert auf 512 MB.

Bitness Detection Flow

Bitness Client Hint Ablauf

Vorteile für die Systemarchitektur

  • Optimale Binary-Auslieferung: Verhindert 32-Bit Apps auf 64-Bit Systemen oder umgekehrt, eliminiert WoW64-Emulation-Overhead
  • Memory-Aware Features: Web-Apps können Features wie Image-Editing-Layers oder Video-Buffering an verfügbaren Adressraum anpassen
  • Support-Optimierung: Analytics über Bitness-Verteilung hilft bei Entscheidung, wann 32-Bit Support eingestellt werden kann

Spezifikation

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

Weitere Spezifikationen

Sec-CH-UA Header, Accept-CH Header