edit 2018-09-13 : bu uçuş öncesi isteği ve bu yanıtın sonunda nasıl önleneceği hakkında bazı kesinlikler ekledi.
OPTIONS
istekleri dediğimiz vardır pre-flight
istekleri Cross-origin resource sharing (CORS)
.
Belirli durumlarda farklı kökenlerden talepte bulunurken gereklidir.
Bu uçuş öncesi isteği, bazı tarayıcılar tarafından, yapılan isteğin sunucu tarafından güvenildiğinden emin olmak için bir güvenlik önlemi olarak yapılır. Yani sunucu, istek üzerine gönderilen yöntemin, kaynağın ve başlıkların üzerinde işlem yapmanın güvenli olduğunu anlar.
Çapraz kökenli istekler yapmaya çalıştığınızda sunucunuz bu istekleri dikkate almamalı ve işlememelidir.
İyi bir kaynak burada bulunabilir http://enable-cors.org/
Bunları rahat ettirmenin bir yolu, OPTIONS
yöntemle herhangi bir yol için sunucunun bu üstbilgiyle bir yanıt göndermesini sağlamaktır
Access-Control-Allow-Origin: *
Bu tarayıcıya sunucunun herhangi bir kaynaktan gelen istekleri cevaplamak istediğini söyleyecektir.
Sunucunuza CORS desteği ekleme hakkında daha fazla bilgi için aşağıdaki akış şemasına bakın
http://www.html5rocks.com/static/images/cors_server_flowchart.png
düzenleme 2018-09-13
MDN belgelerindeOPTIONS
açıklandığı gibi CORS talebi yalnızca bazı durumlarda tetiklenir :
Bazı istekler bir CORS ön kontrolünü tetiklemez. Bu makalede bunlara “basit istekler” denir, ancak Getirme özelliği (CORS'yi tanımlayan) bu terimi kullanmaz. CORS ön kontrolünü ("basit istek" adı verilen) tetiklemeyen bir istek, aşağıdaki koşulların tümünü karşılar:
İzin verilen yöntemler şunlardır:
Kullanıcı aracısı tarafından otomatik olarak ayarlanan başlıklar dışında (örneğin, Bağlantı, Kullanıcı Aracısı veya Getirme özelliğinde “yasak başlık adı” olarak tanımlanan adlara sahip diğer başlıklar), El ile ayarlananlar, Fetch spesifikasyonunun “CORS destekli istek başlığı” olarak tanımladığı, aşağıdakilerdir:
- Kabul etmek
- Accept-Language
- Content-Language
- İçerik Türü (ancak aşağıdaki ek gereksinimleri not edin)
- DPR
- downlink
- Veri kaydet
- Görünüm genişlikte
- Genişlik
İçerik Türü başlığı için izin verilen değerler şunlardır:
- Uygulama / x-www-form-urlencoded
- Çok parçalı / form-
- metin / düz
İstekte kullanılan XMLHttpRequestUpload nesnesine hiçbir olay dinleyicisi kaydedilmez; bunlara XMLHttpRequest.upload özelliği kullanılarak erişilir.
İstekte ReadableStream nesnesi kullanılmıyor.