ÐавÑÑо нам Origin?
Як ви, мабÑÑÑ, знаÑÑе, ÑÑнÑÑ HTTP-заголовок Referer, Ñкий зазвиÑай мÑÑÑиÑÑ URL-адÑеÑÑ ÑÑоÑÑнки, Ñо ÑнÑÑÑÑвала меÑежевий запиÑ.
ÐапÑиклад, пÑд ÑÐ°Ñ Ð¾ÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ http://google.com з http://javascript.info/some/url заголовки виглÑдаÑÑÑ Ñак:
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
Як баÑиÑе, пÑиÑÑÑÐ½Ñ Ñ Referer, Ñ Origin.
ÐиÑаннÑ:
- ÐавÑÑо поÑÑÑбен
Origin, ÑкÑоRefererмÑÑÑиÑÑ Ñе бÑлÑÑе ÑнÑоÑмаÑÑÑ? - Чи можливо, Ñо немаÑ
RefererÑиOrigin, або ж Ñе непÑавилÑно?
Ðам поÑÑÑбен Origin, ÑÐ¾Ð¼Ñ Ñо ÑÐ½Ð¾Ð´Ñ Referer вÑдÑÑÑнÑй. ÐапÑиклад, коли ми запиÑÑÑмо ÑеÑез fetch HTTP-ÑÑоÑÑÐ½ÐºÑ Ð· HTTPS (доÑÑÑп до Ð¼ÐµÐ½Ñ Ð±ÐµÐ·Ð¿ÐµÑного з бÑлÑÑ Ð±ÐµÐ·Ð¿ÐµÑного), ÑÐ¾Ð´Ñ Ð½ÐµÐ¼Ð°Ñ Referer.
Content Security Policy може забоÑонÑÑи надÑÐ¸Ð»Ð°Ð½Ð½Ñ Referer.
Як ми побаÑимо, fetch Ð¼Ð°Ñ Ð¿Ð°ÑамеÑÑи, ÑÐºÑ Ð·Ð°Ð±Ð¾ÑонÑÑÑÑ Ð½Ð°Ð´ÑилаÑи Referer Ñ Ð½Ð°Ð²ÑÑÑ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑÑÑ Ð·Ð¼ÑнÑваÑи його (в межаÑ
Ñого Ñамого ÑайÑÑ).
Ðа ÑпеÑиÑÑкаÑÑÑÑ Referer Ñ Ð½ÐµÐ¾Ð±Ð¾Ð²âÑзковим HTTP-заголовком.
Саме ÑомÑ, Ñо Referer Ñ Ð½ÐµÐ½Ð°Ð´Ñйним, бÑло винайдено Origin. ÐÑаÑÐ·ÐµÑ Ð³Ð°ÑанÑÑÑ Ð¿ÑавилÑне Origin Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸ÑÑв мÑж ÑÑзними джеÑелами.