DNS RobotDNS Propagation Checker
Ana SayfaDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

Yeni nesil DNS yayılım kontrol aracı

Gizlilik PolitikasıKullanım KoşullarıHakkımızdaBlogİletişim

DNS Araçları

DNS SorgulamaDNS Hız TestiAlan Adından IP'yeNS SorgulamaMX SorgulamaTümünü gör

E-posta Araçları

SPF Kayıt KontrolüDMARC KontrolüDKIM KontrolüSMTP Test AracıE-posta Başlık AnaliziTümünü gör

Web Sitesi Araçları

WHOIS SorgulamaHosting Kontrol AracıAlan Adı Müsaitlik KontrolüAlt Alan Adı BulucuCMS AlgılayıcıTümünü gör

Ağ Araçları

Ping AracıTraceroutePort KontrolüHTTP Başlık KontrolüSSL Sertifika KontrolüTümünü gör

IP Araçları

IP SorgulamaIP Adresim NedirIP Kara Liste KontrolüIP'den Hostname'eASN SorgulamaTümünü gör

Yardımcı Araçlar

QR Kod OkuyucuQR Kod OluşturucuUPI QR Code GeneratorWiFi QR Code GeneratorMors Kodu ÇeviriciTümünü gör
© 2026 DNS Robot. Geliştiren: ❤ Shaik Brothers
Tüm sistemler çalışıyor
Made with
Ana Sayfa/Blog/ERR_HTTP2_PROTOCOL_ERROR Hatası: Nedir ve Nasıl Çözülür?

ERR_HTTP2_PROTOCOL_ERROR Hatası: Nedir ve Nasıl Çözülür?

Shaik Vahid30 Eyl 20269 dk okuma
ERR_HTTP2_PROTOCOL_ERROR gösteren Chrome hata sayfası ve HTTP/2 protokol hatalarını gideren kontroller
ERR_HTTP2_PROTOCOL_ERROR gösteren Chrome hata sayfası ve HTTP/2 protokol hatalarını gideren kontroller

Önemli Bilgi

ERR_HTTP2_PROTOCOL_ERROR (Chromium hata kodu -337), sunucunun ya da sizinle sunucu arasındaki bir şeyin protokol kurallarını çiğneyen bir HTTP/2 yanıtı gönderdiği ve Chrome'un bu yanıtı çöpe attığı anlamına gelir. Ziyaretçiler için sayfayı yenilemek, Gizli pencere açmak, sitenin önbelleğini temizlemek veya antivirüsün HTTPS taramasını duraklatmak genellikle işe yarar, çünkü bozulmuş ya da önbellekteki bir yanıt yaygın bir tetikleyicidir. Site sahipleri için olağan nedenler akışın ortasında kesilen bir yanıt (çoğu zaman diski dolmuş veya geçici klasörüne yazamayan bir proxy), gövdeyle eşleşmeyen bir Content-Length ya da HTTP/2'nin yasakladığı başlıklardır. Hatayı curl --http2 -v ile yeniden üretin.

Advertisement

ERR_HTTP2_PROTOCOL_ERROR Nedir?

ERR_HTTP2_PROTOCOL_ERROR, tarayıcının protokol kurallarını çiğneyen bir HTTP/2 yanıtı aldığını gösteren bir Chrome ve Edge hatasıdır. Chromium içinde bu, -337 numaralı ağ hatasıdır: "there is an HTTP/2 protocol error" (bir HTTP/2 protokol hatası var). Chrome'un bu hata için özel bir sayfası yoktur; bu yüzden genel hata sayfasını görürsünüz: "Bu siteye ulaşılamıyor. … adresindeki web sayfası geçici olarak kapalı olabilir veya kalıcı olarak yeni bir web adresine taşınmış olabilir." Altında da ERR_HTTP2_PROTOCOL_ERROR yazar.

HTTP/2, artık çoğu HTTPS sitenin kullandığı daha hızlı HTTP sürümüdür. HTTP/1.1'den daha katıdır: yanıtlar ikili çerçevelere bölünür, başlıklar kesin kurallara uyar ve bir yanıtın bildirilen boyutu gerçekte gelenle eşleşmelidir. Chrome bu kuralları çiğneyen bir yanıt gördüğünde (örneğin akışın ortasında duran ya da yasak bir başlık içeren bir yanıt) yanıtın tamamını bozuk sayar ve atar.

Geliştiriciler bu hatayı DevTools konsolunda çoğu zaman net::ERR_HTTP2_PROTOCOL_ERROR 200 (OK) olarak görür. Bu kombinasyon güçlü bir ipucudur: sunucu 200 ile yanıt vermiş, ancak yanıt gövdesi hiçbir zaman eksiksiz ulaşmamıştır.

Not

Firefox ve Safari de HTTP/2 kullanır, ancak bozuk yanıtları farklı şekilde bildirir; bu yüzden bir sayfa Chrome'da açılmazken başka tarayıcılarda (bazen eksik de olsa) yükleniyor gibi görünebilir. Bu, Chrome'un hatalı olduğu anlamına gelmez: bozuk bir yanıtı reddetmede genellikle en katı olan odur.

HTTP/2 Neleri Bozuk Yanıt Sayar

HTTP/2 standardı (RFC 9113), bir yanıtı bozuk hale getiren hataları listeler; tamamlanmadan önce sıfırlanan bir akış da başarısız olur. Gerçek hayattaki hataların çoğunun arkasında şu sorunlar vardır:

KuralKuralı ne bozar
Content-Length gövde boyutuna eşit olmalıdırBir sunucunun veya eklentinin bir boyut bildirip başka bir boyut göndermesi; örneğin uzunluk ayarlandıktan sonra çıktının sıkıştırılması
Yanıt düzgün şekilde sona ermelidirSunucunun, proxy'nin veya uygulamanın göndermeyi yarıda kesmesi
Bağlantıya özgü başlıklar olmamalıdırBir HTTP/2 yanıtında Connection, Keep-Alive, Proxy-Connection, Transfer-Encoding veya Upgrade gönderilmesi
Başlık adları küçük harfle yazılmalıdırBüyük harf içeren başlık adlarının olduğu gibi HTTP/2'ye aktarılması
Geçerli başlık değerleriBir başlık değerinin içinde satır sonu veya başka yasak karakterler bulunması
Geçerli bir :status satırıEksik veya okunamayan bir durum kodu

Advertisement

ERR_HTTP2_PROTOCOL_ERROR Hatasına Ne Neden Olur?

Vakaların çoğu sunucu tarafından kaynaklanır, ancak kendi bilgisayarınızdaki birkaç şey de bir yanıtı size ulaşırken bozabilir:

  • Sunucuda: akışın ortasında kesilen yanıtlar (disk alanı biten veya geçici dosyalarını yazamayan bir proxy, akış sırasında çöken bir uygulama, bir zaman aşımı), yanlış Content-Length değerleri, yasak veya geçersiz başlıklar ve eski bir sunucu ya da CDN yapılandırmasındaki hatalı HTTP/2 desteği.

  • Sizin tarafınızda: HTTPS'i inceleyip yanıtları yeniden yazan antivirüs veya güvenlik duvarı yazılımları, istekleri ya da yanıtları değiştiren tarayıcı uzantıları, sayfanın önbellekte bozulmuş bir kopyası ve ara sıra eski bir Chrome sürümü.

Çözüm 1: Sert Yenileme Yapın ve Gizli Pencereyi Deneyin

Sayfayı önbelleği kullanmadan yenilemek için Ctrl + Shift + R (Mac: Cmd + Shift + R) tuşlarına basın. Bir kez yarıda kesilen bir yanıt, sonraki denemede sorunsuz gelebilir.

Ardından sayfayı bir Gizli pencerede açın (Ctrl + Shift + N, Mac'te Cmd + Shift + N). Gizli pencerede çerez ve normal profilinizden gelen önbellek yoktur, uzantılar da varsayılan olarak kapalıdır. Sayfa orada yükleniyorsa Çözüm 2 veya Çözüm 3 normal pencerenizdeki sorunu giderir.

Advertisement

Çözüm 2: O Sitenin Önbelleğini ve Çerezlerini Temizleyin

Önbellekte bozulmuş bir kopya ya da şişmiş bir çerez, tek bir sitede hatayı tekrar tekrar tetikleyebilir. Yalnızca o sitenin verilerini temizleyin: adres çubuğunun solundaki simgeye tıklayın → Çerezler ve site verileri (veya Site ayarları) → verileri silin, ardından sayfayı yenileyin. Daha kapsamlı bir temizlik için Ctrl + Shift + Delete tuşlarına basın ve son birkaç günün Önbelleğe alınan resimler ve dosyalar verilerini temizleyin.

Çözüm 3: Antivirüsün HTTPS Taramasını ve Uzantıları Duraklatın

HTTPS'in şifresini çözüp inceleyen güvenlik yazılımları her HTTP/2 bağlantısının ortasında durur. HTTP/2 desteği hatalı veya güncel değilse Chrome'un bozuk saydığı yanıtları iletebilir. Yalnızca HTTPS tarama özelliğini kapatın (genellikle HTTPS taraması, Web Kalkanı, SSL/TLS protokol filtreleme veya Şifreli bağlantıları tara gibi adlar taşır) ve sayfayı yenileyin. Bu sorunu çözerse antivirüsü güncelleyin ve site için bir istisna ekleyin.

Ardından chrome://extensions adresinden tüm uzantıları devre dışı bırakın, sayfayı yenileyin, sonra uzantıları teker teker yeniden açın. Reklam engelleyiciler, gizlilik araçları ve başlıkları düzenleyen her şey olağan şüphelilerdir.

Uyarı

Testi bitirir bitirmez korumayı yeniden açın. Tek bir web sitesini düzeltmek için HTTPS taramasını her yerde kapalı bırakmak kötü bir takastır; bunun yerine o siteyi istisna olarak ekleyin.

Advertisement

Çözüm 4: Chrome'u Güncelleyin ve Diğer Tarayıcıları Kontrol Edin

Bekleyen güncellemeleri yüklemek için chrome://settings/help adresini açın, ardından tarayıcıyı yeniden başlatın. Sonra aynı sayfayı Firefox'ta veya Safari'de açın. Her yerde başarısız oluyorsa site bozuktur ve yalnızca sahibi düzeltebilir. Yalnızca Chrome veya Edge başarısız oluyorsa sorun yine genellikle sitededir, çünkü bozuk HTTP/2'yi en katı şekilde Chrome reddeder; yine de Çözüm 2 ve 3'ü tekrarlamaya değer.

Çözüm 5: Sayfayı HTTP/2 Olmadan Test Edin

Chrome, HTTP/2 kapalı olarak başlatılabilir; bu da sorunun HTTP/2 olup olmadığını kesin olarak gösterir. Önce tüm Chrome pencerelerini kapatın, ardından tarayıcıyı bir terminalden başlatın:

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

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

İpucu

Site sizinse ve incelemeyi sürdürürken hızlı bir geçici çözüme ihtiyacınız varsa sunucuda HTTP/2'yi geçici olarak kapatabilirsiniz (nginx'te listen 443 ssl satırından http2 ifadesini kaldırın veya http2 off; ayarlayın). Tarayıcılar bu durumda daha hoşgörülü olan HTTP/1.1'e geri döner. Bunu kalıcı çözüm değil, geçici bir adım olarak görün.

Sayfa bu pencerede yükleniyorsa sitenin HTTP/2 yanıtları bozuktur ve sahibinin bunları düzeltmesi gerekir. Ardından Chrome'u kapatıp normal şekilde yeniden açın. Bu bayrak yalnızca o tek açılış için geçerlidir.

Advertisement

Web Sitesi Sahipleri İçin: HTTP/2 Protokol Hatalarını Düzeltme

Farklı ağlardaki ve tarayıcılardaki ziyaretçiler hatayı bildiriyorsa sorun sizin altyapınızdadır. Aşağıdaki üç kontrol, bu hataların neredeyse tamamını bulur.

1. Hatayı curl ile Yeniden Üretin

bash
# HTTP/2: çıktının sonuna bakın
curl -sv --http2 https://example.com/broken-page -o /dev/null
# Bozuk bir akış şuna benzer bir satırla biter:
# HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)
# (curl 8.19+: HTTP/2 stream 1 reset by server (error 0x1 PROTOCOL_ERROR))

# Karşılaştırma için aynı URL, HTTP/1.1 üzerinden
curl -sv --http1.1 https://example.com/broken-page -o /dev/null

İpucu

Chrome DevTools'ta (F12) → Network (Ağ) sekmesinde başarısız bir istek, kopmadan önce ne kadar verinin alındığını gösterebilir. Bunu yanıtın content-length başlığında bildirdiği boyutla karşılaştırmak, yarıda kesilmiş bir yanıtla uğraşıp uğraşmadığınızı hızla gösterir.

HTTP/1.1 çalışıyor ve HTTP/2 başarısız oluyorsa hatayı doğrulamışsınız demektir. İkisi arasındaki yanıt başlıklarını karşılaştırın ve akış kopmadan önce kaç bayt geldiğini not edin. HTTP Başlık Kontrolü aracı da sitenizin gönderdiği başlıkları ağınızın dışından gösterir.

2. Akışın Ortasında Kesilen Yanıtları Kontrol Edin

Sunucu tarafındaki en yaygın neden, başlayan (durum 200, başlıklar gönderilmiş) ama sonra erken duran bir yanıttır. nginx, uygulamanızdan gelen büyük yanıtları geçici dosyalara arabelleğe alır; disk doluysa veya nginx geçici klasörüne yazamıyorsa yanıt erken biter ve tarayıcı bir protokol hatası bildirir. Kontrol edin:

bash
df -h                                   # herhangi bir disk dolu mu?
sudo grep -E "No space left|Permission denied" /var/log/nginx/error.log | tail
ls -ld /var/lib/nginx/proxy /var/lib/nginx/fastcgi   # Debian/Ubuntu geçici dizinleri; sahibi nginx kullanıcısı olmalı

Uygulamanın kendisini de kontrol edin: büyük bir sayfayı veya indirmeyi akış halinde gönderirken çöken, zaman aşımına uğrayan ya da bellek limitine takılan bir PHP veya Node işlemi aynı sonucu doğurur. Hatanın gerçekleştiği zamana ait uygulama günlükleri bunu genellikle gösterir.

3. Content-Length'i ve Yasak Başlıkları Düzeltin

  • Content-Length: bırakın sunucu hesaplasın. Bir eklenti, ara katman yazılımı (middleware) veya web sunucusu da çıktıyı sıkıştırıyor ya da değiştiriyorsa bu değeri uygulama kodunda elle ayarlamayın; aksi halde bildirilen uzunluk gönderilen baytlarla artık eşleşmez. WordPress sitelerinde bu, PHP kodunda bir uzunluk ayarlanırken bir eklentinin veya PHP ayarının çıktıyı ayrıca sıkıştırmasıyla ortaya çıkabilir.

  • Bağlantıya özgü başlıklar: yanıtlarda Connection, Keep-Alive, Transfer-Encoding veya Upgrade ayarlayan kodu kaldırın. HTTP/2 bunları yasaklar; nginx çoğunu sizin yerinize ayıklasa da bazı uygulama sunucuları ve proxy'ler bunu yapmaz.

  • Başlık değerleri: hiçbir başlığın satır sonu veya kontrol karakteri içermediğinden emin olun. Bu genellikle bir başlığa yerleştirilen kullanıcı girdisinden kaynaklanır; örneğin Content-Disposition içindeki bir dosya adı.

  • Öndeki CDN: Cloudflare veya başka bir CDN kullanıyorsanız hatanın kaynak sunucudan mı yoksa CDN'den mi geldiğini anlamak için kaynak sunucuyu doğrudan test edin (curl --resolve veya bir hosts kaydıyla).

Not

Bir CDN'in arkasında tarayıcı CDN ile HTTP/2 konuşur, CDN ise kaynak sunucunuzla HTTP/1.1 konuşabilir. Yanlış bir Content-Length gönderen veya bağlantıyı erken kapatan bir kaynak sunucu, tarayıcıya yine bir HTTP/2 hatası olarak yansır, çünkü CDN yalnızca aldığını iletebilir.

ERR_HTTP2_PROTOCOL_ERROR ve Benzer Hatalar

HataKodNe oldu
ERR_HTTP2_PROTOCOL_ERROR-337Bir HTTP/2 yanıtı protokol kurallarını çiğnedi
ERR_QUIC_PROTOCOL_ERROR-356Aynı türde bir hata, HTTP/3 (QUIC) üzerinde
ERR_SSL_PROTOCOL_ERROR-107HTTPS (TLS) el sıkışması HTTP/2 başlamadan önce başarısız oldu
ERR_CONNECTION_CLOSED-100Bağlantı, sayfa gelmeden önce kapatıldı
ERR_EMPTY_RESPONSE-324Sunucu hiçbir şey göndermedi

Ayrıntılı rehberler: ERR_QUIC_PROTOCOL_ERROR, ERR_SSL_PROTOCOL_ERROR, ERR_CONNECTION_CLOSED ve ERR_EMPTY_RESPONSE. Bir sitenin sertifikasını ve HTTPS kurulumunu dışarıdan kontrol etmek için SSL Sertifika Kontrolü aracını kullanın.

Sitenizin gerçekte gönderdiği başlıkları görün

DNS Robot'un HTTP Başlık Kontrolü aracı, herhangi bir URL'yi bizim sunucularımızdan çeker ve durum kodunu ve tüm yanıt başlıklarını listeler; böylece yasak veya bozuk başlıkları kolayca fark edersiniz.

Dene HTTP Başlık Kontrolü

Advertisement

Sıkça Sorulan Sorular

Chrome'un protokol kurallarını çiğneyen bir HTTP/2 yanıtı aldığı (örneğin erken biten, yanlış boyut bildiren veya yasak başlıklar içeren bir yanıt) ve bu yüzden yanıtı attığı anlamına gelir. Chromium'da -337 numaralı ağ hatasıdır.

İlgili Araçlar

HTTP Headers CheckSSL Certificate CheckPort Checker

İlgili Makaleler

ERR_QUIC_PROTOCOL_ERROR: Ne Anlama Gelir ve Nasıl DüzeltilirERR_SSL_PROTOCOL_ERROR: Nasıl Düzeltilir (Chrome, Edge, Tüm Tarayıcılar)ERR_CONNECTION_CLOSED Hatası: Nedir ve Nasıl Çözülür?

İçindekiler

  • ERR_HTTP2_PROTOCOL_ERROR Nedir?
  • HTTP/2 Neleri Bozuk Yanıt Sayar
  • ERR_HTTP2_PROTOCOL_ERROR Hatasına Ne Neden Olur?
  • Çözüm 1: Sert Yenileme Yapın ve Gizli Pencereyi Deneyin
  • Çözüm 2: O Sitenin Önbelleğini ve Çerezlerini Temizleyin
  • Çözüm 3: Antivirüsün HTTPS Taramasını ve Uzantıları Duraklatın
  • Çözüm 4: Chrome'u Güncelleyin ve Diğer Tarayıcıları Kontrol Edin
  • Çözüm 5: Sayfayı HTTP/2 Olmadan Test Edin
  • Web Sitesi Sahipleri İçin: HTTP/2 Protokol Hatalarını Düzeltme
  • 1. Hatayı curl ile Yeniden Üretin
  • 2. Akışın Ortasında Kesilen Yanıtları Kontrol Edin
  • 3. Content-Length'i ve Yasak Başlıkları Düzeltin
  • ERR_HTTP2_PROTOCOL_ERROR ve Benzer Hatalar
  • Sıkça Sorulan Sorular