Same Origin Policy   동일 출처 정책

(2022-07-30)

CORS, 교차 출처 리소스 공유


1. 동일 출처 정책 (Same Origin Policy)과 상호작용하는 자바스크립트 코드에 대한 보안 제약 (전송 제한) 사항 중 하나
     - 전송 제한 종류  :  도메인, 메서드, 헤더
        . 도메인 : 자바스크립트에서, 요청 가능한 사이트 도메인을 제한
        . 메소드 : 전송 가능 메소드를 제한하는 것
        . 헤더 : 웹브라우저 능력을 넘어서는 것을 금지

  ㅇ 문서 출처가 동일한 곳으로 제한 (도메인 제한) :  URL, 프로토콜, 호스트, 포트번호
     - 이 중 하나라도 다르면 동일 출처 정책에 위반됨

     - 또한, 동일 출처라도, `file://`은 안되고, `http://` 등 url이어야 만 됨

     - 다만, 자바스크립트 코드를 포함하는 본 문서의 출처는 제약 받지 않음
        . 즉, 해당 문서 전체에 자바스크립트 코드가 접근 가능

     - 또한, 자바스크립트 코드는,
        . 다른 서버에서 불러온 문서를 열거나 닫을 수 는 있지만,
        . 그 안을 들여다 볼 수는 없음


2. 교차 출처 리소스 공유 (Cross-orgin Resource Sharing, CORS)

  ㅇ 오리진 (출처, 도메인) 사이에 자원을 공유하는 방법으로써, W3C에서 규격화 함
     - 여기서, 자원 공유는, XMLHttpRequest, fetch API에 의한 엑세스를 말함
     - 특히, 외부 서비스에 대한 엑세스를 엄격하게 제한하려 함

  ㅇ 아파치 웹서버 상에서, 허용 방법
     - 설정 파일 (httpd.conf 또는 httpd-vhosts.conf)에서,
        
LoadModule headers_module modules/mod_headers.so

<Directory "디렉토리 위치">
Header set Access-Control-Allow-Origin "*"
</Directory>

JS 웹문서 제어
   1. 웹문서 내 JS   2. 동일 출처 정책  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"