SOP는 Same Origin Policy의 약자로 이용자가 웹 서비스에 접속할 때, 브라우저는 해당
웹 서비스에서 사용하는 인증 정보인 쿠키를 HTTP 요청에 포함시켜 전달한다.
이때 악의 적인 페이지가 클라이언트의 권한을 이용해 대상 사이트에 HTTP 요청을 보내고,
HTTP 응답 정보를 흭득하는 것을 막기 위한 "동일 출처 정책" 이다.
오리진은 protocol, port, host로 구성된다. 구성 요소가 모두 일치해야 동일한 오리진이라 한다.
"https://same-origin.com/" 와 비교
- 이미지, 자바스크립트, CSS등 리소스를 불러오는 <img>, <style>, <script> 등의
태그는 SOP의 영향을 받지 않는다.
- 웹 서비스에서 SOP를 완화하여 다른 출처의 데이터를 처리 해야 하는 경우도 있음.
ex) https://aps.or.kr & https://mail.aps.or.kr
3.1 CORS
http 헤더에 기반하여 리소스를 공유한다.
- CORS prflight:OPTION method로 예비 요청을 보내는 방식
예제.
- Figure 3: Access-Control-Request"로 시작하는 헤더가 존재하는 것을 확인할 수
있다. 해당하는 헤더 뒤에 따라오는 Method와 Headers는 각각 메소드와 헤더를 추가적으로
사용할 수 있는지 질의한다.
- Figure 4: 응답 결과