동일 출처 정책(Same-origin Policy)란?

브라우저에서 어떤 출처에서 읽어 들인 페이지의 스크립트가 다른 출처의 리소스 내용을 읽는 것을 제한하는 규칙. 출처(origin)는 스킴, 호스트 이름, 포트 번호의 조합으로, 세 가지가 모두 같을 때 동일 출처로 간주한다. 이용자가 로그인해 있는 다른 사이트의 정보를 악의적인 페이지의 스크립트가 읽어 내는 것을 막는다. 이미지나 스크립트의 로드 같은 삽입은 허용되며, 다른 출처의 응답을 읽어야 할 때는 서버의 허가에 기초한 CORS를 사용한다.

일본어 명칭: 同一オリジンポリシー

동일 출처 정책(Same-origin Policy)은(는) 웹 기술 기초 등 1개 분야의 연습 문제 2개에 나와요.

분야: 웹 기술 기초

도전해 보기: 동일 출처 정책(Same-origin Policy) 관련 문제

브라우저의 동일 출처 정책에서 https://www.example.com/app/index.html과 같은 출처로 간주되는 URL은?

  1. Ahttps://www.example.com/data/list.json
  2. Bhttp://www.example.com/app/data.json
  3. Chttps://api.example.com/app/data.json
정답과 해설 보기

정답: A. https://www.example.com/data/list.json

출처(origin)는 스킴, 호스트 이름, 포트 번호 세 가지의 조합으로 정해지며, 세 가지가 모두 같을 때 동일 출처로 간주됩니다. 경로는 관계가 없으므로 /data/list.json은 같은 출처입니다. 동일 출처 정책에 의해 페이지의 JavaScript는 다른 출처에서 받은 응답의 내용을 원칙적으로 읽을 수 없습니다. 이로써 이용자가 로그인해 있는 다른 사이트의 정보를 악의적인 페이지의 스크립트가 읽어 내는 것을 막고 있습니다.

해설 속 동일 출처 정책(Same-origin Policy)

동일 출처 정책(Same-origin Policy)이(가) 나오는 문제 (2)

  1. 브라우저의 동일 출처 정책에서 https://www.example.com/app/index.html과 같은 출처로 간주되는 URL은?
  2. https://app.example.com 페이지의 JavaScript가 fetch를 사용하여 https://api.example.net/orders로 Content-Type: application/json 본문을 붙인 POST 요청을 보내려 한다. 이때 CORS의 동작으로 올바른 것은?

관련 용어

포트 번호(Port Number) CORS(교차 출처 리소스 공유) 리버스 프록시(Reverse Proxy) 서버 사이드 렌더링(SSR) 웹소켓(WebSocket) 이벤트 루프(Event Loop) 쿠키(Cookie) DOM(문서 객체 모델) HTTP 메서드(HTTP Method) HTTP 상태 코드(HTTP Status Code)

용어집으로 돌아가기