Origin Nedir
Coddy'nin Node.js Journey'sinin REST API'leri bölümünün bir parçası. Ders 18 / 25.
Bir tarayıcı normalde bir sayfanın JavaScript’inin kendi kaynağından gelen API yanıtlarını okumasına izin verir. Aynı kaynak kuralı, bir sayfanın başka bir sitenin verilerini serbestçe okumasını engeller. CORS (Cross-Origin Resource Sharing), bir sunucunun yanıt başlıklarıyla başka bir kaynağa izin vermesini sağlar.
Bir tarayıcı sayfasının bir kaynağı vardır: şeması, ana bilgisayarı ve bağlantı noktası birlikte bu kaynağı oluşturur. Aynı kaynaktaki farklı yollar, CORS izni olmadan bir API’yi paylaşabilir. Ana bilgisayarın, şemanın veya bağlantı noktasının değişmesi farklı bir kaynak oluşturur.
new URL('https://board.example.com/tasks').origin;
// 'https://board.example.com'
new URL('https://board.example.com/help').origin;
// aynı originURL, bir adresi adlandırılmış parçalara ayıran yerleşik bir sınıftır. origin özelliği yolu ve sorguyu içermez. Sağlanan sayfa adresi başlangıç kodunda sabittir. Bu alıştırmada kaynaklar karşılaştırılır; sonraki adımda bir sunucu, kaynaklar arasında izin verecek.
Bir isteğin Origin başlığı bu kaynak değerini zaten içerir; sonraki derste bu başlık okunacak.
Görev
KolayBu küçük bir alıştırma projesidir. Kurulumu hazır olarak verilmiştir; yalnızca exercise.js dosyasını düzenle.
Verilen adres sayfanın kökenini paylaşıyorsa {"same":true}, aksi hâlde false döndür. {"address":"https://board.example.com/api/tasks"} içeriğini /result adresine POST olarak gönderirsen true döner. https'i, ana bilgisayarı veya bağlantı noktasını değiştirmek false döndürür. Bu alıştırmadaki adresler geçerli mutlak URL'lerdir.
Başlangıçtaki GET /result, verilen örneği kullanır: {"address": "https://board.example.com/api/tasks"}. Diğer girdileri denemek için JSON gövdesiyle POST /result kullan.
Kendin dene
const page = 'https://board.example.com/tasks';
export function exercise({ address }) {
return { same: address === page };
}
REST API'leri bölümündeki tüm dersler
1Kaynaklar ve Fiiller
Kaynaklar ve URL'lerPOST ile Oluşturma4Tarayıcılar, Sürümler ve Yapılandırma
Origin NedirBaşka Bir Origin'e İzin VermeCORSAPI'yi Çağıran Bir SayfaKendi başına pratik yap: Express playground