origin(출처)의 정의

주소의 세 요소가 모두 같아야 같은 출처:

https://example.com:443
  프로토콜   호스트    포트

하나라도 다르면 cross-origin이다. (경로·쿼리는 출처와 무관)

기준: https://example.com관계이유
https://example.com/pagesame경로만 다름
http://example.comcross프로토콜
https://api.example.comcross호스트(서브도메인도 다른 출처)
https://example.com:8080cross포트

왜 막나 (Same-Origin Policy)

  • 악성 사이트가, 내가 로그인해둔 다른 사이트의 데이터를 몰래 읽는 걸 막기 위함
  • 그래서 브라우저는 다른 출처로의 접근을 기본 차단한다

넘는 법 — CORS

  • 서버가 응답 헤더로 "이 출처는 허용"이라고 알려주는 방식
  • Access-Control-Allow-Origin에 허용할 출처를 명시
  • 즉 차단을 푸는 주체는 프론트가 아니라 서버

정리

  • cross-origin은 "위험"이 아니라 브라우저의 기본 보안 경계
  • 넘으려면 서버가 CORS로 열어줘야 하고, 프론트 코드만으론 못 뚫는다