on your mark

[HTTP] CORS 본문

WEB/HTTP

[HTTP] CORS

dev-olive 2022. 8. 11. 10:22

프론트 공부하면서 제일...은 아니고 머리 아프게 했던 여러 가지 문제 중 하나인 SOP/CORS

 

CORS (Cross-Origin Resource Sharing)

SOP에 위배되어도 XHR에 의해 resource를 사용할 수 있는 것을 의미

 

SOP

SOP는 same origin policy의 약자로 하나의 origin의 document나 script에서 다른 origin의 resoucr를 ajax를 이용하여 가져오는 것을 제한하는 것을 의미한다.

 

두 URL의 프로토콜포트(명시한 경우), 호스트 (en-US)가 모두 같아야 동일한 출처

아래 표는 URL http://store.company.com/dir/page.html의 출처를 비교한 예시이다.

http://store.company.com/dir2/other.html 성공 경로만 다름
http://store.company.com/dir/inner/another.html 성공 경로만 다름
https://store.company.com/secure.html 실패 프로토콜 다름
http://store.company.com:81/dir/etc.html 실패 포트 다름 (http://는 80이 기본값)
http://news.company.com/dir/other.html 실패 호스트 다름

출처 : https://developer.mozilla.org/ko/docs/Web/Security/Same-origin_policy

 

동일 출처 정책 - 웹 보안 | MDN

동일 출처 정책(same-origin policy)은 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 중요한 보안 방식입니다. 동일 출처 정책은 잠재적으로

developer.mozilla.org

 

 

다른 Origin의 자원이 필요할 때는?

다른 Origin으로 리소스를 요청하는 경우, 원래의 요청이 어떤 데미인에서 시작된 것이지 다른 Origin으로 알려주어야 한다. 이 때 Origin 요청 헤더를 사용한다.

다른 Origin측에서는 Origin 값에 해당하는 정책을 확인하여 이를 CORS 응답 헤더로 내려준다. 이 때, Origin 헤더 값이 사전에 약속된 도메인이 아니라면 응답이 정상적으로 가지 않아 브라우저에서는 응답값을 사용하지 못한다. 

 

 

 

References

 

'WEB > HTTP' 카테고리의 다른 글

[HTTP] OPTIONS, Preflight Request  (0) 2022.08.11