동일 출처 정책

이제 웹 브라우저는 웹 서핑을 하는 프로그램을 넘어서 플랫폼의 역할까지 수행하고 있습니다.

브라우저는 견고한 플랫폼으로 동작하기 위해 다양한 보안 정책을 적용하고 있는데 독자들이 꼭 알아두어야 할 것은 동일 출처 정책(SAME Origin Policy) 이 입니다.


이는 한 출처(Origin)에서 로드된 문서나 스크립트가 다른 출처 자원에 접근하지 못하도록 제약하며 이를 통해 의심스러운 소스에서 다운로드한 스크립트에 의해 중요한 정보가 유출되는 것을 차단할 수 있습니다.


출처는 URL 와 포트의 조합에 의해 유일하게 식별되며 이에 따라 http://www.secure.com/dir 에서  로드된 JavaScript 는 http://www.secure.com/image 에 접근 가능하지만 URL 이 다른 http://api.secure.com 에는 접근할 수가 없습니다.

또한 http://www.secure.com/dir 포트가 다른  http://www.secure.com:8080/image 에도 접근할 수가 없습니다.


동일 출처 정책은 브라우저의 기본 정책이고 매우 효과적인 정책이므로 웹 개발시 이를 염두에 두고 개발을 진행해야 견고하고 잘 동작하는 웹 서비스를 작성할 수 있습니다.


동일 출처 정책은 다른 사이트의 리소스를 호출하는 Web API 에서는 동작하지 않는 문제가 있어서 이를 해결하기 위해 나온게 CORS(Cross-Origin Resource Sharing) 입니다.

Ref