DNS RobotDNS Propagation Checker
StartDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

DNS-Propagation-Checker der nächsten Generation

DatenschutzrichtlinieNutzungsbedingungenÜber unsBlogKontakt

DNS-Tools

DNS-AbfrageDNS-GeschwindigkeitstestDomain zu IPNS-AbfrageMX-AbfrageAlle anzeigen

E-Mail-Tools

SPF-Eintrag-CheckerDMARC-CheckerDKIM-CheckerSMTP-Test-ToolE-Mail-Header-AnalyseAlle anzeigen

Website-Tools

WHOIS-AbfrageHosting-CheckerDomain-VerfügbarkeitSubdomain-FinderCMS-ErkennungAlle anzeigen

Netzwerk-Tools

Ping-ToolTraceroutePort-CheckerHTTP-Header-CheckSSL-Zertifikat-CheckAlle anzeigen

IP-Tools

IP-AbfrageMeine IP-AdresseIP-Blacklist-CheckIP zu HostnameASN-AbfrageAlle anzeigen

Hilfs-Tools

QR-Code-ScannerQR-Code-GeneratorUPI QR Code GeneratorWiFi QR Code GeneratorMorsecode-ÜbersetzerAlle anzeigen
© 2026 DNS Robot. Entwickelt von: ❤ Shaik Brothers
Alle Systeme betriebsbereit
Made with
Startseite/Blog/ERR_HTTP2_PROTOCOL_ERROR: Bedeutung und so behebst du den Fehler

ERR_HTTP2_PROTOCOL_ERROR: Bedeutung und so behebst du den Fehler

Shaik Vahid30. Sept. 20269 Min. Lesezeit
Chrome-Fehlerseite mit ERR_HTTP2_PROTOCOL_ERROR neben den Prüfungen, die HTTP/2-Protokollfehler beheben
Chrome-Fehlerseite mit ERR_HTTP2_PROTOCOL_ERROR neben den Prüfungen, die HTTP/2-Protokollfehler beheben

Kernaussage

ERR_HTTP2_PROTOCOL_ERROR (Chromium-Fehler -337) bedeutet: Der Server oder etwas zwischen dir und ihm hat eine HTTP/2-Antwort geschickt, die gegen die Regeln des Protokolls verstößt, und Chrome hat sie verworfen. Als Besucher helfen meist Neuladen, ein Inkognito-Fenster, das Leeren des Website-Caches oder das Pausieren des HTTPS-Scans im Antivirus, denn eine verstümmelte oder zwischengespeicherte Antwort ist ein häufiger Auslöser. Bei Website-Betreibern sind die üblichen Ursachen eine mittendrin abgeschnittene Antwort (oft ein Proxy mit voller Festplatte oder nicht beschreibbarem Temp-Ordner), ein Content-Length, der nicht zum Body passt, oder Header, die HTTP/2 verbietet. Reproduziere den Fehler mit curl --http2 -v.

Advertisement

Was ist ERR_HTTP2_PROTOCOL_ERROR?

ERR_HTTP2_PROTOCOL_ERROR ist ein Fehler in Chrome und Edge und bedeutet, dass der Browser eine HTTP/2-Antwort erhalten hat, die gegen die Regeln des Protokolls verstößt. In Chromium ist das der Netzwerkfehler -337: „there is an HTTP/2 protocol error“. Chrome hat dafür keine eigene Fehlerseite, du siehst also die allgemeine: „Diese Website ist nicht erreichbar. Die Webseite unter … ist möglicherweise vorübergehend nicht verfügbar oder wurde dauerhaft an eine neue Webadresse verschoben.“ Darunter steht ERR_HTTP2_PROTOCOL_ERROR.

HTTP/2 ist die schnellere HTTP-Version, die heute die meisten HTTPS-Seiten nutzen. Sie ist strenger als HTTP/1.1: Antworten werden in binäre Frames aufgeteilt, Header folgen genauen Regeln, und die angekündigte Größe einer Antwort muss mit dem übereinstimmen, was tatsächlich ankommt. Sieht Chrome eine Antwort, die gegen diese Regeln verstößt, etwa eine, die mittendrin abbricht oder einen verbotenen Header enthält, behandelt es die ganze Antwort als fehlerhaft und verwirft sie.

Entwickler sehen den Fehler oft in der DevTools-Konsole als net::ERR_HTTP2_PROTOCOL_ERROR 200 (OK). Diese Kombination ist ein starker Hinweis: Der Server hat mit 200 geantwortet, aber der Response-Body ist nie vollständig angekommen.

Hinweis

Firefox und Safari sprechen ebenfalls HTTP/2, melden kaputte Antworten aber anders. Eine Seite kann also in Chrome scheitern und anderswo scheinbar laden (manchmal unvollständig). Das heißt nicht, dass Chrome falsch liegt: Es ist meist nur am strengsten, wenn es fehlerhafte Antworten ablehnt.

Was HTTP/2 als fehlerhaft behandelt

Der HTTP/2-Standard (RFC 9113) listet die Fehler auf, die eine Antwort ungültig machen, und auch ein Stream, der vor seinem Ende zurückgesetzt wird, scheitert. Hinter den meisten Fehlern in der Praxis stecken diese Probleme:

RegelWas dagegen verstößt
Content-Length muss der Größe des Bodys entsprechenEin Server oder Plugin kündigt eine Größe an und sendet eine andere, etwa wenn die Ausgabe erst nach dem Setzen der Länge komprimiert wird
Die Antwort muss sauber endenServer, Proxy oder App hören mittendrin auf zu senden
Keine verbindungsspezifischen HeaderConnection, Keep-Alive, Proxy-Connection, Transfer-Encoding oder Upgrade in einer HTTP/2-Antwort
Header-Namen müssen kleingeschrieben seinHeader-Namen mit Großbuchstaben, die direkt an HTTP/2 durchgereicht werden
Gültige Header-WerteZeilenumbrüche oder andere verbotene Zeichen in einem Header-Wert
Eine gültige :status-ZeileEin fehlender oder unlesbarer Statuscode

Advertisement

Was verursacht ERR_HTTP2_PROTOCOL_ERROR?

Die meisten Fälle kommen von der Serverseite, aber ein paar Dinge auf deinem eigenen Computer können eine Antwort auf dem Weg zu dir beschädigen:

  • Am Server: mittendrin abgeschnittene Antworten (ein Proxy, dem der Speicherplatz ausgeht oder der seine Temp-Dateien nicht schreiben kann, eine App, die beim Streamen abstürzt, ein Timeout), falsche Content-Length-Werte, verbotene oder ungültige Header und fehlerhafte HTTP/2-Unterstützung in einer älteren Server- oder CDN-Konfiguration.

  • Auf deiner Seite: Antivirus- oder Firewall-Software, die HTTPS prüft und Antworten umschreibt, Browser-Erweiterungen, die Anfragen oder Antworten verändern, eine beschädigte zwischengespeicherte Kopie der Seite und gelegentlich eine veraltete Chrome-Version.

Lösung 1: Hartes Neuladen und Inkognito testen

Drück Strg + Umschalt + R (Mac: Cmd + Umschalt + R), um ohne Cache neu zu laden. Eine Antwort, die einmal abgeschnitten wurde, kommt beim nächsten Versuch womöglich vollständig an.

Öffne die Seite dann in einem Inkognito-Fenster (Strg + Umschalt + N, Mac Cmd + Umschalt + N). Inkognito hat keine Cookies, keinen Cache aus deinem normalen Profil, und Erweiterungen sind standardmäßig aus. Lädt die Seite dort, lösen Lösung 2 oder Lösung 3 das Problem in deinem normalen Fenster.

Advertisement

Lösung 2: Cache und Cookies dieser Website löschen

Eine beschädigte Kopie im Cache oder ein aufgeblähtes Cookie kann den Fehler auf einer Website immer wieder auslösen. Lösche nur die Daten dieser Website: Klicke auf das Symbol links in der Adressleiste → Cookies und Websitedaten (oder Website-Einstellungen) → Daten löschen und neu laden. Für eine gründlichere Bereinigung drück Strg + Umschalt + Entf und lösche Bilder und Dateien im Cache für die letzten Tage.

Lösung 3: HTTPS-Scan des Antivirus und Erweiterungen pausieren

Sicherheitssoftware, die HTTPS entschlüsselt und prüft, sitzt mitten in jeder HTTP/2-Verbindung. Ist ihre HTTP/2-Verarbeitung fehlerhaft oder veraltet, kann sie Antworten weiterreichen, die Chrome als fehlerhaft einstuft. Schalte nur die HTTPS-Scan-Funktion aus (oft HTTPS-Scan, Web-Schutz (Web Shield), SSL/TLS-Protokollfilterung oder Verschlüsselte Verbindungen scannen genannt) und lade neu. Behebt das den Fehler, aktualisiere das Antivirenprogramm und richte eine Ausnahme für die Website ein.

Deaktiviere als Nächstes alle Erweiterungen unter chrome://extensions, lade neu und schalte sie dann nacheinander wieder ein. Werbeblocker, Datenschutz-Tools und alles, was Header bearbeitet, sind die üblichen Verdächtigen.

Warnung

Schalte den Schutz wieder ein, sobald du mit dem Testen fertig bist. Den HTTPS-Scan überall ausgeschaltet zu lassen, nur um eine Website zu reparieren, ist ein schlechter Tausch; richte stattdessen eine Ausnahme für diese Seite ein.

Advertisement

Lösung 4: Chrome aktualisieren und andere Browser testen

Öffne chrome://settings/help, um ausstehende Updates zu installieren, und starte den Browser neu. Öffne dann dieselbe Seite in Firefox oder Safari. Scheitert sie überall, ist die Website kaputt, und nur ihr Betreiber kann das beheben. Scheitern nur Chrome oder Edge, liegt es meist trotzdem an der Website, weil Chrome fehlerhaftes HTTP/2 am strengsten ablehnt, aber Lösung 2 und 3 lohnen einen zweiten Versuch.

Lösung 5: Die Seite ohne HTTP/2 testen

Chrome lässt sich mit ausgeschaltetem HTTP/2 starten. So weißt du sicher, ob HTTP/2 das Problem ist. Schließ zuerst alle Chrome-Fenster und starte es dann aus einem Terminal:

bash
# Windows (Eingabeaufforderung)
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-http2

# macOS (Terminal)
open -a "Google Chrome" --args --disable-http2

Tipp

Ist es deine eigene Website und brauchst du während der Fehlersuche einen schnellen Workaround, kannst du HTTP/2 am Server vorübergehend ausschalten (in nginx http2 aus der Zeile listen 443 ssl entfernen oder http2 off; setzen). Browser fallen dann auf HTTP/1.1 zurück, das toleranter ist. Betrachte das als vorübergehenden Schritt, nicht als Lösung.

Lädt die Seite in diesem Fenster, sind die HTTP/2-Antworten der Website fehlerhaft, und der Betreiber muss sie beheben. Schließ Chrome danach und öffne es wieder ganz normal. Das Flag gilt nur für diesen einen Start.

Advertisement

Für Website-Betreiber: HTTP/2-Protokollfehler beheben

Melden Besucher aus verschiedenen Netzwerken und Browsern den Fehler, liegt das Problem in deinem Stack. Diese drei Prüfungen finden fast alle Ursachen.

1. Mit curl reproduzieren

bash
# HTTP/2: auf das Ende der Ausgabe achten
curl -sv --http2 https://example.com/broken-page -o /dev/null
# Ein kaputter Stream endet etwa so:
# HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)
# (ab curl 8.19: HTTP/2 stream 1 reset by server (error 0x1 PROTOCOL_ERROR))

# Dieselbe URL zum Vergleich über HTTP/1.1
curl -sv --http1.1 https://example.com/broken-page -o /dev/null

Tipp

In den Chrome DevTools (F12) → Netzwerk kann eine fehlgeschlagene Anfrage zeigen, wie viel vor dem Abbruch empfangen wurde. Vergleichst du das mit der Größe, die die Antwort in ihrem content-length-Header angekündigt hat, weißt du schnell, ob du es mit einer abgeschnittenen Antwort zu tun hast.

Funktioniert HTTP/1.1 und scheitert HTTP/2, hast du den Fehler bestätigt. Vergleiche die Response-Header der beiden und notiere, wie viele Bytes ankommen, bevor der Stream abbricht. Das Tool HTTP-Headers zeigt dir außerdem, welche Header deine Website sendet – von außerhalb deines Netzwerks gesehen.

2. Nach mittendrin abgeschnittenen Antworten suchen

Die häufigste Ursache auf Serverseite ist eine Antwort, die beginnt (Status 200, Header gesendet) und dann zu früh aufhört. nginx puffert größere Antworten deiner App in temporären Dateien. Ist die Festplatte voll oder kann nginx nicht in seinen Temp-Ordner schreiben, endet die Antwort vorzeitig, und der Browser meldet einen Protokollfehler. Prüfe:

bash
df -h                                   # ist eine Festplatte voll?
sudo grep -E "No space left|Permission denied" /var/log/nginx/error.log | tail
ls -ld /var/lib/nginx/proxy /var/lib/nginx/fastcgi   # Temp-Verzeichnisse unter Debian/Ubuntu; Besitzer muss der nginx-Benutzer sein

Prüfe auch die App selbst: Ein PHP- oder Node-Prozess, der beim Streamen einer großen Seite oder eines Downloads abstürzt, in ein Timeout läuft oder ein Speicherlimit erreicht, führt zum selben Ergebnis. Die App-Logs rund um den Zeitpunkt des Fehlers zeigen das meist.

3. Content-Length und verbotene Header korrigieren

  • Content-Length: Lass den Server ihn berechnen. Setz ihn nicht von Hand im App-Code, wenn ein Plugin, eine Middleware oder der Webserver die Ausgabe zusätzlich komprimiert oder verändert, denn dann passt die angekündigte Länge nicht mehr zu den gesendeten Bytes. Eine im PHP-Code gesetzte Länge, während ein Plugin oder eine PHP-Einstellung die Ausgabe ebenfalls komprimiert, ist ein Weg, wie das auf WordPress-Seiten passiert.

  • Verbindungsspezifische Header: Entferne Code, der Connection, Keep-Alive, Transfer-Encoding oder Upgrade in Antworten setzt. HTTP/2 verbietet sie, und während nginx die meisten davon selbst entfernt, tun das manche App-Server und Proxys nicht.

  • Header-Werte: Stell sicher, dass kein Header einen Zeilenumbruch oder ein Steuerzeichen enthält. Das kommt oft von Nutzereingaben, die in einem Header landen, etwa ein Dateiname in Content-Disposition.

  • Vorgeschaltetes CDN: Nutzt du Cloudflare oder ein anderes CDN, teste den Origin-Server direkt (mit curl --resolve oder einem hosts-Eintrag), um herauszufinden, ob der Fehler vom Origin oder vom CDN kommt.

Hinweis

Hinter einem CDN spricht der Browser HTTP/2 mit dem CDN, und das CDN spricht mit deinem Origin womöglich HTTP/1.1. Ein Origin, der einen falschen Content-Length sendet oder zu früh schließt, erscheint im Browser trotzdem als HTTP/2-Fehler, weil das CDN nur weitergeben kann, was es bekommen hat.

ERR_HTTP2_PROTOCOL_ERROR vs. ähnliche Fehler

FehlerCodeWas passiert ist
ERR_HTTP2_PROTOCOL_ERROR-337Eine HTTP/2-Antwort hat gegen die Protokollregeln verstoßen
ERR_QUIC_PROTOCOL_ERROR-356Dieselbe Art von Fehler über HTTP/3 (QUIC)
ERR_SSL_PROTOCOL_ERROR-107Der HTTPS-Handshake (TLS) ist gescheitert, bevor HTTP/2 begann
ERR_CONNECTION_CLOSED-100Die Verbindung wurde geschlossen, bevor eine Seite ankam
ERR_EMPTY_RESPONSE-324Der Server hat überhaupt nichts gesendet

Ausführliche Anleitungen: ERR_QUIC_PROTOCOL_ERROR, ERR_SSL_PROTOCOL_ERROR, ERR_CONNECTION_CLOSED und ERR_EMPTY_RESPONSE. Um das Zertifikat und die HTTPS-Einrichtung einer Website von außen zu prüfen, nutze den SSL-Checker.

Sieh, welche Header deine Website wirklich sendet

Der HTTP-Headers-Checker von DNS Robot ruft jede URL von unseren Servern aus ab und listet den Statuscode und jeden Response-Header auf. So erkennst du verbotene oder fehlerhafte Header auf einen Blick.

Testen HTTP-Headers-Checker

Advertisement

Häufig gestellte Fragen

Es bedeutet, dass Chrome eine HTTP/2-Antwort erhalten hat, die gegen die Regeln des Protokolls verstößt, etwa eine, die zu früh endete, eine falsche Größe ankündigte oder verbotene Header enthielt, und die Antwort deshalb verworfen hat. In Chromium ist das der Netzwerkfehler -337.

Verwandte Tools

HTTP Headers CheckSSL Certificate CheckPort Checker

Verwandte Artikel

ERR_QUIC_PROTOCOL_ERROR: Bedeutung und LösungERR_SSL_PROTOCOL_ERROR: So beheben Sie den Fehler (Chrome, Edge, alle Browser)ERR_CONNECTION_CLOSED: Bedeutung und so behebst du den Fehler

Inhaltsverzeichnis

  • Was ist ERR_HTTP2_PROTOCOL_ERROR?
  • Was HTTP/2 als fehlerhaft behandelt
  • Was verursacht ERR_HTTP2_PROTOCOL_ERROR?
  • Lösung 1: Hartes Neuladen und Inkognito testen
  • Lösung 2: Cache und Cookies dieser Website löschen
  • Lösung 3: HTTPS-Scan des Antivirus und Erweiterungen pausieren
  • Lösung 4: Chrome aktualisieren und andere Browser testen
  • Lösung 5: Die Seite ohne HTTP/2 testen
  • Für Website-Betreiber: HTTP/2-Protokollfehler beheben
  • 1. Mit curl reproduzieren
  • 2. Nach mittendrin abgeschnittenen Antworten suchen
  • 3. Content-Length und verbotene Header korrigieren
  • ERR_HTTP2_PROTOCOL_ERROR vs. ähnliche Fehler
  • Häufig gestellte Fragen