<aside> 🚨 Access to XMLHttpRequest at ‘https://api.com/users’ from origin ‘http://localhost:3000’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
</aside>
SOP
정책을 위반한 것이 되며, SOP
의 예외 조항인 CORS
정책까지 지키지 않는다면 아예 다른 출처의 리소스를 사용할 수 없음!SOP(Same-Origin Policy)
란?CORS(Cross-Origin Resource Sharing)
란?출처는 위의 형태에서 :80
, :443
과 같은 포트 번호까지 모두 합친 것을 의미함. 즉, 서버의 위치를 찾아가기 위해 필요한 가장 기본적인 것들의 집합을 뜻함.
같은 출처와 다른 출처를 구분하는 방법은 간단함. 위와 같은 URL 구성 요소 중 Scheme(Protocol)
, Host
, Port
3가지가 동일한 경우 같은 출처라고 판단함.
+) 출처에 포트 번호가 명시적으로 포함되어 있는 경우, 포트 번호까지 모두 일치해야 같은 출처라고 인정됨. (포함되어 있지 않다면 고려 대상이 아님)