CORS Kontrolü, sitenizden gelen bir kaynaklar arası (cross-origin) isteğe hedef sunucu tarafından izin verilip verilmeyeceğini test eder. Ön kontrol (preflight/OPTIONS) ve asıl isteği çalıştırır, İZİN VERİLDİ/ENGELLENDİ sonucu verir ve isteğin tam olarak neden başarısız olduğunu belirleyebilmeniz için Access-Control-Allow-Origin, Metotlar, Başlıklar ve Kimlik Bilgilerini (Credentials) detaylandırır.
"Blocked by CORS" (CORS tarafından engellendi), tarayıcı tabanlı geliştirmedeki en kafa karıştırıcı hatalardan biridir; tarayıcı, kodunuza yararlı bir bilgi döndürmeden isteği sessizce engeller ve ham CORS başlıklarını okumak zahmetlidir. CORS Kontrolü tüm resmi netleştirir. Hedef URL'yi, HTTP metodunu ve test etmek istediğiniz kaynağı (origin) girin (varsayılan olarak mevcut sayfanızdır). İsteğe bağlı olarak göndermeyi planladığınız özel istek başlıklarını (content-type, authorization vb.) listeleyin. Araç daha sonra ön kontrol OPTIONS isteğini (istek "basit" olmadığında otomatik olarak eklenir) ve ardından asıl isteği çalıştırır; ilgili her CORS yanıt başlığını ayrıştırır. Sonrasında bir geçti/kaldı dökümü sunar: Allow-Origin doğru ayarlanmış mı, Allow-Methods metodunuzu içeriyor mu, özel başlıklarınız Allow-Headers içinde mi, Allow-Credentials kimlik bilgisi bayrağınızla eşleşiyor mu? Nihai karar nettir — İZİN VERİLDİ (ALLOWED) veya ENGELLENDİ (BLOCKED) — ve kontrol listesi size arka uçta tam olarak neyi düzeltmeniz gerektiğini söyler.
Bir ön kontrol OPTIONS isteğinin ne zaman çalışacağını (basit olmayan metotlar veya özel başlıklar) algılar ve bunu doğru Access-Control-Request-* başlıklarıyla otomatik olarak gönderir.
Her CORS kuralı ayrı ayrı değerlendirilir: kaynak eşleşmesi, izin verilen metotlar, izin verilen başlıklar, kimlik bilgileri. Tam olarak hangi kontrolün başarısız olduğunu görürsünüz.
Üst kısımda büyük yeşil İZİN VERİLDİ veya kırmızı ENGELLENDİ başlığı yer alır; yanıtı anlamak için başlıkları okumanıza gerek kalmaz.
Hem ön kontrol hem de asıl istekten gelen her yanıt başlığını gösterir ve CORS'a özgü başlıkları vurgular.
Sadece mevcut sayfa değil, herhangi bir kaynakmış gibi davranın; üçüncü taraf entegrasyonlarının nasıl işleneceğini test etmek için kullanışlıdır.
Sorgu, eklentinin arka planında çalıştığı için kaynaklar arası veri çekme işlemleri, ana sayfanın kendi CORS politikası tarafından engellenmez.
Ön ucunuz konsolda bir CORS hatası gösterdiğinde, arka ucun hangi başlığının eksik olduğunu tam olarak görmek için aracı kullanın; spesifikasyonları okumaktan çok daha hızlıdır.
Yeni bir genel API yayınlamadan önce, beklenen her kaynak, metot ve başlık kombinasyonunun çalıştığını onaylamak için araçtan test edin.
Üçüncü taraf bir API ile entegrasyon yaparken, isteğin sorunsuz geçeceğini onaylamak için planladığınız başlıklarla kendi kaynağınızdan test yapın.
Tarayıcının ön kontrol sonuçlarını ne kadar süreyle önbelleğe alacağını görmek için Access-Control-Max-Age değerini kontrol edin.
Kullanıcılar fark etmeden önce ortama özgü yapılandırma hatalarını yakalamak için geliştirme, test ve canlı URL'lerine karşı aynı CORS testini çalıştırın.
DevSuite Pro dock'undaki CORS simgesine tıklayın. URL, metot, kaynak ve başlık girişlerini içeren bir panel açılır.
Test etmek istediğiniz API uç noktasını yapıştırın ve HTTP metodunu (GET, POST, PUT, DELETE vb.) seçin.
Kaynak (Origin) varsayılan olarak mevcut sayfadır. Farklı bir kaynağı test ediyorsanız değiştirin. Özel istek başlıklarını virgülle ayırarak listeleyin.
Araç, ön kontrolü (gerekirse) ve asıl isteği çalıştırır, ardından sonucu ve kontrolleri görüntüler.
Eğer ENGELLENDİ ise, kontrol listesi sunucu yanıtında neyin eksik olduğunu söyler. Arka uç başlığını düzeltin ve yeniden test edin.
DevSuite Pro'yu ücretsiz yükleyin ve tarayıcınız için 64'dan fazla geliştirici aracının kilidini açın.