darsga qaytish

Nima uchun bizga Origin kerak?

Siz bilganingizdek, odatda tarmoq so’rovini boshlagan sahifaning URL manzilini o’z ichiga olgan Referer HTTP sarlavhasi mavjud.

Masalan, http://javascript.info/some/url dan http://google.com ni olishda sarlavhalar quyidagicha ko`rinadi:

Accept: */*
Accept-Charset: utf-8
Accept-Encoding: gzip,deflate,sdch
Connection: keep-alive
Host: google.com
Origin: http://javascript.info
Referer: http://javascript.info/some/url

Ko’rib turganingizdek, Referer ham, Origin ham mavjud.

Savollar:

  1. Agar Referer ko’proq malumotga ega bo'lsa, nima uchunOrigin` kerak?
  2. Referer yoki Origin yo’qligi mumkinmi yoki bu noto’g’ri?

Bizga Origin kerak, chunki ba’zida Referer yo’q. Misol uchun, biz HTTPS-dan HTTP-sahifani fetch paytida (xavfsizroqdan kamroq xavfsizroq kirish), keyin esa Referer yo’q.

Kontent xavfsizligi siyosati “Referer”ni yuborishni taqiqlashi mumkin.

Ko’rib turganimizdek, fetch Refererni yuborishga to’sqinlik qiluvchi va hatto uni o’zgartirishga ruxsat beruvchi variantlarga ega (bir xil sayt ichida).

Spetsifikatsiyaga ko’ra, Referer ixtiyoriy HTTP sarlavhasidir.

Aynan Referer ishonchsiz bo’lgani uchun Origin ixtiro qilingan. Brauzer o’zaro kelib chiqish so’rovlari uchun to’g’ri Origin ni kafolatlaydi.