CS-SOP(Same-Origin Policy) 동일 출처 정책
CORS를 이해하기 전에,
SOP(Same-Origin-Policy), 동일 출처 정책을 알 필요가 있다.
SOP ?
SOP(동일 출처 정책, Same-Origin Policy) 으로,
동일 출처 정책(Same-Origin Policy)은 웹 브라우저에서 스크립트로 로드한 문서나 리소스가 해당 스크립트가 위치한 출처와 동일한 출처에서만 가져와야 한다는 웹 보안 정책이다.
이는 다른 출처(프로토콜, 도메인, 포트) 간 데이터 공유를 제한하여 악성 스크립트에 의한 공격을 방지하고 사용자 정보 보호를 강화하는 보안 메커니즘이다.
동일 출처 정책은 다음과 같은 원칙을 따른다.
같은 출처
프로토콜(https://, http:// 등), 호스트(도메인), 포트(명시된 경우)가 동일한 리소스들은 동일 출처로 간주된다.
리소스 공유 제한
스크립트로 로드한 문서나 리소스는 동일한 출처에서 가져와야 하며, 다른 출처의 리소스에는 접근할 수 없다.
ex)
URL | 결과 | 이유 |
http://test.url.com/dir/page.html | 동일 출처 | 기준 URL |
http://test.url.com/dir2/other.html | 동일 출처 | 호스트와 경로가 동일 |
http://test.url.com/dir/inner/another.html | 동일 출처 | 호스트와 경로가 동일 |
https://test.url.com/page.html | 실패 | 프로토콜이 다름(HTTP vs HTTPS) |
http://test.url.com:81/dir/page.html | 실패 | 포트가 다름 (기본 HTTP 포트인 80과 다른 포트인 81) |
http://news.url.com/dir/page.html | 실패 | 호스트가 다름 (url.com과 news.url.com) |
Cross-Origin 요청 제한
XMLHttpRequest와 Fetch API를 사용하는 AJAX 요청 등의 Cross-Origin 요청은 Same-Origin Policy에 의해 차단된다.
이 정책은 웹 보안을 강화하고 사용자 데이터의 안전성을 보호하기 위해 중요한 역할을 한다.
그러나 CORS(Cross-Origin Resource Sharing)와 같은 메커니즘을 통해 서버 측에서 특정 출처로부터의 요청을 허용할 수 있도록 조정할 수 있다.
교차 출처 접근을 허용하는 방법
CORS를 사용하여 교차 출처의 접근를 허용한다.
CORS는 서버가 브라우저에 콘텐츠 로드를 허용하는 다른 호스트를 지정할 수 있도록 하는 HTTP의 일부이다.