Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

CORS hatası debug ederken kullandığım browser devtools network panelindeki kritik detaylar

byteon

Üye
Katılım
14 Mart 2026
Mesajlar
25
Merhaba arkadaşlar, bugün başımı çok ağrıtan bir CORS hatasını debug ederken, browser'ın DevTools Network panelinin aslında ne kadar detaylı ve hayat kurtarıcı bilgiler sunduğunu fark ettim. İlk gördüğümde "Access to fetch at '...' from origin '...' has been blocked by CORS policy" hatası karşısında biraz kafayı yemiştim doğrusu. Her şey doğru gibi görünüyordu ama işe yaramıyordu. İşte bu noktada sadece konsola bakmak yerine, Network panelini derinlemesine incelemek bana gerçek sorunu gösterdi.

🔥 Network Panelini Doğru Okumak

Sorun yaşadığınız isteğe (genellikle OPTIONS veya GET/POST) tıklayın. Sağ tarafta açılan sekmede Headers kısmına gidin. Burası altın değerinde. İki kritik bölüm var: "Request Headers" ve "Response Headers".

Özellikle Response Headers'da Access-Control-Allow-Origin başlığını arayın. Eğer yoksa veya değeri sizin frontend origin'inizle (
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
gibi) uyuşmuyorsa, sorun kaynağı orası. Ama daha sinsi bir sorun da şu: Bazen bu başlık var gibi görünür, ancak isteğinizde gönderdiğiniz özel bir header (örneğin Authorization) için sunucu tarafında izin verilmemiştir.

🔍 Preflight (OPTIONS) İsteğini Anlamak

Eğer POST isteğiniz gidiyor ama body'si ulaşmıyorsa, hemen Network panelinde OPTIONS türünde bir istek arayın. Tarayıcı, "complex" saydığı isteklerden önce bir ön sorgu (preflight) atar. Bu OPTIONS isteğinin yanıtı, asıl isteğinizin yapılıp yapılamayacağını belirler.

Bu OPTIONS isteğinin yanıtında şu header'ların doğru geldiğinden emin olun:
HTTP:
Access-Control-Allow-Origin: http://localhost:3000
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With

Eğer Authorization header'ını gönderiyorsanız, Access-Control-Allow-Headers listesinde mutlaka olmalı. Yoksa preflight başarısız olur ve asıl POST isteğiniz hiç gitmez!

💡 DevTools'ta Pratik Debug İpuçları

1. İsteği Kopyala cURL olarak: Sağ tık -> Copy -> Copy as cURL. Bu komutu terminalde çalıştırarak, sorunun tarayıcıdan mı yoksa sunucudan mı kaynaklandığını anlayabilirsiniz.
2. Disable cache'i açın: Panelin üstündeki "Disable cache" kutusunu işaretleyin. Yanlış bir CORS yanıtı cache'lenmiş olabilir.
3. Response'u inceleyin: Bazen sunucu CORS hatasını 200 OK ile bile dönebilir. "Preview" veya "Response" sekmesine bakarak, sunucunun aslında bir hata mesajı dönüp dönmediğini kontrol edin.

Sonuç olarak, bir sonraki CORS kabusunuzda sadece kırmızı konsol yazısına odaklanmayın. Network panelini açın, isteğin tüm detaylarını inceleyin. Request ve Response header'ları karşılaştırmak, sorunu %90 hızlıca çözecektir.

Siz backend tarafında (Laravel, Node.js, vs.) CORS konfigürasyonu yaparken en çok hangi detayı atladınız? Ya da frontend'ten istek atarken başka hangi debug yöntemlerini kullanıyorsunuz?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri