Pozwolę sobie na podsumowanie w takim razie. Gdyby coś się nie zgadzało proszę koniecznie mnie poprawić.
Posiłkowałem się tym artykułem :
https://spring.io/understanding/CORS
Gdy żądanym zasobem z innego serwera jest np. obraz, dźwięk lub wideo itp. to taki zasób jest udostępniany "od ręki" bez żadnych ceregieli ponieważ tego typu zasoby nie stanowią zagrożenia dla bezpieczeństwa.
Gdy żądamy skryptu sytuacja jest nieco bardziej skomplikowana gdyż istnieje ryzyko, że ktoś chce "wstrzyknąć" na naszą witrynę niepożądany kod i przejąć kontrolę nad naszą stroną. I w tym momencie w sukurs przychodzi nam mechanizm uwierzytelniania.
Klient wysyła żądanie a w nagłówku podaje atrybut Origin wraz z wartością np. Origin : witryna-a.pl
Serwer rozważa wartość atrybutu origin i podejmuje decyzję czy odpowiedzieć na żądanie czy nie. Jeżeli serwer zgadza się na odpowiedź to wysyła zasób i nagłówek Access-Control-Allow-Origin wraz z wartością.
Jeżeli Access-Control-Allow-Origin i Origin są takie same to przeglądarka dostarcza żądany zasób.
Zastanawia mnie jak serwer podejmuje decyzje. Czy serwer posiada jakąś listę witryn, którym udostępnia zasoby, a może jest jakiś algorytm który to ustala? Czy może jeszcze inaczej?
Zastanawia mnie również dlaczego przeglądarka porównuje atrybuty Origin i Access-Control-Allow-Origin skoro serwer zgodził się udostępnić zasób?
Czym jest mechanizm SRI? Szukałem w google ale o dziwo znajduje mi jedynie informacje o lekach....?
Czy mógłbyś jakoś bardziej rozpisać na temat "ciasteczek i innych tego typu informacji" oraz wykorzystaniu ich?