2016-04-09 42 views
0

Bu beni çok karıştırıyor. Tarayıcımda 2 tane sekme açtığımı varsayalım, biri http://aaa.com ve diğeri http://bbb.com.Çapraz kaynak politikası nasıl çalışır?

en Tarayıcımdaki JavaScript konsolundan bir istek

$ajax({ 
    method : 'POST', 
    url : 'http://aaa.com/SomeAction', 
    ... 
}); 

yapmak diyelim. Çapraz kaynak ilkesini anlama biçimim, sunucunun, yalnızca yazdığım JS konsolu, http://aaa.com sekmesindeki istekte bulunmasına izin vermesidir. Ama sunucu bunu nasıl biliyor? Tarayıcım, isteğin nereden geldiğini söyleyen bir başlık gönderir mi?

+0

'Network' sekmesini açıp' $ .ajax() 'isteğinin url'sini seçebilir, 'Headers' sekmesini tıklayıp, istek için istek ve yanıt başlıklarını incelemek üzere' Request Headers' seçeneğine ilerleyin. – guest271314

+0

Sunucunun hiçbir şeyi bilmesi gerekmiyor - bu politikayı uygulayan _client_. (Burada CORS hakkında konuşmuyorsak, tabii ki sunucu da kendi rolünü oynamak zorundadır.) – CBroe

+0

@CBroe - CORS ile bile, sunucu politikayı uygulamıyor; onu rahatlatır. – Quentin

cevap

0

Sunucu yalnızca ben içine yazdığınız JS konsol Doğru değil http://aaa.com

için sekmede biri olsaydı o isteği gerçekleşmesi olanak sağlamasıdır.

Hiçbir şey example.com'u example.org'a bir AJAX isteği göndermekten alıkoyamaz. Aynı Orijinal Politikası, ancak example.com'un geri verilen yanıtı okumasını engeller. Same Origin Policy, istemci tarafı tarayıcıda değil, sunucuda zorlanır.