400 Bad Request Hatası Nedir ve Nasıl Düzeltilir (Tam Rehber)
Bir 400 Bad Request hatası, sunucunun talebinizi aldığını ancak işlemini reddettiğini belirten bir HTTP durum kodudur — sunucu tarafı bir arızadan değil, talebinizin kendisinde hatalı, geçersiz veya bozuk bir şey olduğundan. İster beklenmedik bir engelle karşılaşan sıradan bir tarayıcı kullanıcısı olun, ister yanlış yapılandırılmış bir sunucuyu tanılayan bir sistem yöneticisi olun, bu hatayı anlamak hızlı ve etkili sorun giderme için gereklidir.
Bu kapsamlı rehber, basit URL yazım hatalarından derin sunucu yanlış yapılandırmalarına kadar her nedeni, her çözümü ve her senaryoyu kapsar.
400 Bad Request Hatası Ne Anlama Gelir?
HTTP protokolünde, 4xx aralığındaki durum kodları istemci tarafı hatalarını gösterir. 400 özellikle sunucunun istek biçimini anladığını ancak onu sözdizimsel olarak yanlış bulduğunu veya yerine getirmeyi denemeden önce başka şekilde işlenemez bulduğunu gösterir.
400 Hata Mesajının Yaygın Varyasyonları
Kullanılan sunucuya, çerçeveye veya CDN’ye bağlı olarak, bu hatayı şu şekilde görebilirsiniz:
400 Bad RequestBad Request – Invalid URLHTTP Error 400400. That's an error.400 Bad Request. The server cannot or will not process the request due to a client error.Invalid request
Bunların tümü aynı temel nedeni gösterir: istemci sunucunun kabul edemeyeceği bir şey gönderdi.
400 Bad Request Hatası Neyin Sebebidir?
Çözümlere geçmeden önce, temel nedenleri anlamak önemlidir. 400 hatası şaşırtıcı derecede geniş bir sorun yelpazesi tarafından tetiklenebilir:
| Neden | Açıklama |
|---|---|
| Hatalı URL sözdizimi | Eksik karakterler, fazladan semboller veya yanlış kodlanmış özel karakterler |
| Bozuk tarayıcı çerezleri | Bir siteyle ilişkili çerezler geçersiz hale gelir ve sunucu oturumu reddeder |
| Dosya yükleme boyutu aşıldı | Yüklenen dosya sunucunun yapılandırılmış maksimum boyut sınırını aşar |
| Geçersiz istek başlıkları | Yanlış biçimlendirilmiş veya desteklenmeyen HTTP başlıkları istekle gönderilir |
| Eski DNS önbelleği | Eski DNS kayıtları yanlış veya var olmayan bir IP adresine işaret eder |
| Eksik veya geçersiz sorgu parametreleri | Gerekli URL parametreleri eksik, hatalı biçimlendirilmiş veya yanlış kodlanmıştır |
| Hatalı tarayıcı uzantıları | HTTP isteklerini değiştiren uzantılar başlıkları bozabilir veya geçersiz veri ekleyebilir |
| Sunucu yanlış yapılandırması | .htaccess, Nginx yapılandırması veya güvenlik eklentisi kurallarında hatalar geçerli istekleri reddeder |
400 Bad Request Hatası Nasıl Düzeltilir: Adım Adım
1. URL’yi Yazım Hataları ve Sözdizimi Hataları Açısından Kontrol Edin
Hatalı bir URL, 400 hatasının tek en yaygın nedenidir ve kontrol etmeniz gereken ilk şeydir. Tek bir yanlış yerleştirilmiş karakter bile bir isteği sunucu için okunamaz hale getirebilir.
Aranacak şeyler:
- Alan adı veya yolda yazım hataları
- Çift eğik çizgiler (
//) olmaması gereken yerlerde - Kodlanmamış özel karakterler — boşluklar, köşeli parantezler veya URL kodlanmamış ampersandlar
- Eksik
=işaretleri veya&ayırıcıları olan bozuk sorgu dizeleri
Pratik örnek:
https://example.com/search?q=hello world gibi bir URL kodlanmamış bir boşluk içerir, bu geçersizdir. Doğru, düzgün kodlanmış sürümü şudur:
https://example.com/search?q=hello%20worldSorunun daha derin olduğunu varsaymadan önce tarayıcınızın adres çubuğundaki URL’yi her zaman iki kez kontrol edin.
2. Tarayıcı Önbelleğini ve Çerezleri Temizleyin
Bozuk veya eski çerezler ve önbelleğe alınmış dosyalar, özellikle daha önce ziyaret ettiğiniz sitelerde 400 hatalarının başında gelen nedenidir. Tarayıcı, sunucunun doğrudan reddettiği artık geçersiz bir çerezi göndermiş olabilir.
Google Chrome’da:
- Sağ üst köşedeki üç nokta menüsüne (⋮) tıklayın.
- Diğer araçlar → Tarama verilerini temizle‘ye gidin.
- Çerezler ve diğer site verileri ve Önbelleğe alınmış resimler ve dosyalar‘ı işaretleyin.
- Verileri temizle‘ye tıklayın.
Mozilla Firefox’ta:
- Hamburger menüsüne (☰) tıklayın ve Ayarlar‘a gidin.
- Gizlilik & Güvenlik‘i seçin.
- *Çerezler ve Site Verileri* altında Verileri Temizle‘ye tıklayın.
- Her iki seçeneği işaretleyin ve Temizle‘ye tıklayın.
Safari’de (macOS):
- Menü çubuğunda Safari‘ye tıklayın ve Tercihler → Gizlilik‘e gidin.
- Web Sitesi Verilerini Yönet‘e tıklayın, ardından Tümünü Kaldır‘a tıklayın.
- Safari’yi yeniden başlatın ve URL’yi yeniden deneyin.
Önbelleği ve çerezleri temizledikten sonra sayfayı yeniden yükleyin ve hatanın devam edip etmediğini kontrol edin.
3. DNS Önbelleğinizi Temizleyin
İşletim sisteminiz, tarama hızını artırmak için DNS arama sonuçlarını yerel olarak depolar. Bu önbelleğe alınmış kayıtlar eski veya bozuk hale gelirse, tarayıcınızı yanlış sunucuya işaret edebilir — bağlantı hatalarını, 400 yanıtlarını da içeren hataları tetikleyebilir.
Windows’ta:
Komut İstemini Yönetici olarak açın ve şunu çalıştırın:
ipconfig /flushdnsŞu onayı görmelisiniz: *”DNS Çözümleyici Önbelleği başarıyla temizlendi.”*
macOS’ta (Ventura / Monterey / Sonoma):
Terminal‘i açın ve şunu çalıştırın:
sudo killall -HUP mDNSResponderLinux’ta (systemd-resolved):
sudo systemd-resolve --flush-cachesTemizledikten sonra tarayıcınızı kapatıp yeniden açın, ardından isteği yeniden deneyin.
4. Dosya Yükleme Boyutu Sınırlarını Kontrol Edin
400 hatası özellikle dosya yüklerken görünüyorsa, dosya neredeyse kesinlikle sunucunun yapılandırılmış maksimum yükleme boyutunu aşıyor. Sunucular bu sınırları kötüye kullanımı önlemek ve kaynak tükenmesini önlemek için uygular.
Son kullanıcılar için:
- Yüklemeden önce dosyayı sıkıştırmayı deneyin.
- Uygulama destekliyorsa büyük dosyaları daha küçük parçalara bölün.
- Belirtilen yükleme sınırları için web sitesinin belgelerine bakın.
Sunucu yöneticileri için:
Apache.htaccess veya httpd.conf dosyanızı düzenleyin:
LimitRequestBody 104857600*(Bu sınırı 100MB olarak ayarlar.)*
Nginxnginx.conf dosyanızı düzenleyin:
client_max_body_size 100M;PHPphp.ini dosyasını güncelleyin:
upload_max_filesize = 100M
post_max_size = 100MBu değişiklikleri yaptıktan sonra web sunucunuzu yeniden başlatın.
> Yönetilen bir ortamda çalışıyorsanız, sunucu yapılandırma parametreleri üzerinde tam kontrole sahip olduğunuz bir VPS Barındırma planına yükseltmeyi düşünün.
5. Tarayıcı Uzantılarını Devre Dışı Bırakın
Tarayıcı uzantıları — özellikle reklam engelleyiciler, gizlilik araçları ve istek değiştiriciler — HTTP başlıklarını istekleri geçersiz hale getirecek şekillerde değiştirebilir. Son zamanlarda yeni bir uzantı yüklediyseniz ve 400 hatalarını görmeye başladıysanız, bu muhtemel bir nedendir.
Google Chrome’da:
- Adres çubuğuna
chrome://extensions/yazın ve Enter tuşuna basın. - Tüm uzantıları kapatın.
- Chrome’u yeniden başlatın ve URL’yi test edin.
- Sorunlu olanı belirlemek için uzantıları birer birer yeniden etkinleştirin.
Firefox’ta:
- Adres çubuğuna
about:addonsyazın. - Tüm uzantıları devre dışı bırakın.
- Yeniden başlatın ve test edin.
Uzantılar devre dışı bırakıldığında hata kaybolursa, sorunlu uzantıyı kaldırın veya güncelleyin.
6. Farklı Bir Tarayıcı veya Cihaz Deneyin
Bazen sorun tamamen geçerli tarayıcınızın yapılandırmasına, profiline veya depolanmış verilerine yalıtılmıştır. Alternatif bir tarayıcı ile test etmek, tarayıcıya özgü değişkenleri hızlı bir şekilde ortadan kaldırır.
İzlenecek adımlar:
- Aynı URL’yi farklı bir tarayıcıda açın (örneğin, Chrome’dan Firefox veya Edge’e geçin).
- Sayfaya farklı bir cihazdan erişmeyi deneyin (telefon, tablet veya başka bir bilgisayar).
- Farklı bir ağ üzerinden bağlanmayı deneyin (örneğin, Wi-Fi’den mobil veriye geçin).
Sayfa başka bir tarayıcıda veya cihazda doğru şekilde yüklenirse, sorun orijinal kurulumunuza yereldir — 2. ve 5. adımlara geri dönün.
7. Sunucu Günlüklerini Kontrol Edin (Web Sitesi Sahipleri ve Yöneticiler İçin)
400 hatalarını yaşayan web sitesini yönetiyorsanız, sunucu günlükleri en güçlü tanı aracınızdır. Her isteğin ve reddin tam ayrıntılarını kaydederek, nedeni tam olarak belirlemenizi sağlar.
Günlüklerde aranacak şeyler:
- 400 yanıtını tetikleyen belirli istek satırı
- Hatalı biçimlendirilmiş veya aşırı boyutlu istek başlıkları
- Gönderilen geçersiz çerez verileri
- Güvenlik duvarı veya güvenlik kuralları tarafından engellenen istekler
Yaygın günlük konumları:
| Sunucu | Varsayılan Günlük Yolu |
|---|---|
| Apache | /var/log/apache2/error.log veya /var/log/httpd/error_log |
| Nginx | /var/log/nginx/error.log |
| cPanel | cPanel panosundaki Hata Günlükleri aracılığıyla erişilebilir |
WordPress gibi bir CMS kullanıyorsanız, WP_DEBUG_LOG dosyasında wp-config.php etkinleştirerek hata ayıklama günlüğünü de kontrol edin:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);> Birden fazla siteyi yönetecek yöneticiler, tüm barındırılan etki alanları arasında hata günlüklerini gözden geçirmek için merkezi, kullanıcı dostu bir arayüz sağlayan cPanel’li VPS‘den faydalanacaktır.
8. Sunucu Yanlış Yapılandırmalarını İnceleyip Düzeltin
Sunucu tarafı yanlış yapılandırmalar, yalnızca bireysel kullanıcıları değil, tüm ziyaretçileri etkileyen 400 hatalarının yaygın bir kaynağıdır. Günlükleriniz birden fazla istemci arasında 400 hatalarının bir modelini gösteriyorsa, önce buraya bakın.
Apache — .htaccess Hataları:
.htaccess dosyasındaki sözdizimi hataları Apache’nin istekleri reddetmesine neden olabilir. Dosyanızı şu şekilde doğrulayın:
apachectl configtestHatalı RewriteRule yönergeleri, geçersiz mod_security kuralları veya bozuk yeniden yönlendirme mantığı içeren satırları arayın.
Nginx — Yapılandırma Hataları:
Yeniden yüklemeden önce Nginx yapılandırmanızı test edin:
nginx -tYanlış yapılandırılmış server_name blokları, geçersiz location yönergel
tasarruf edin