교차 출처 리소스 공유
교차 출처 리소스 공유(Cross-origin resource sharing, CORS), 교차 출처 자원 공유는 웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조이다.[1] 웹페이지는 교차 출처 이미지, 스타일시트, 스크립트, iframe, 동영상을 자유로이 임베드할 수 있다.[2]
다만 특정 교차 도메인 간(cross-domain) 요청, 특히 Ajax 요청은 동일-출처 보안 정책에 의해 기본적으로 금지된다.
CORS는 교차 출처 요청을 허용하는 것이 안전한지 아닌지를 판별하기 위해 브라우저와 서버가 상호 통신하는 하나의 방법을 정의한다.[3] 순수하게 동일한 출처 요청보다 더 많은 자유와 기능을 허용하지만 단순히 모든 교차 출처 요청을 허용하는 것보다 더 안전하다. CORS의 사양은 원래 W3C 권고안으로 배포되었으나[4] 해당 문서는 쓸모 없어진(obsolete) 상태이다.[5] 현재 CORS를 재정의하면서 활발히 유지보수된 사양은 WHATWG의 Fetch Living Standard이다.[6]
CORS의 동작 원리[편집]
헤더[편집]
CORS 관련 HTTP 헤더는 다음과 같다:
요청 헤더[편집]
Origin
Access-Control-Request-Method
Access-Control-Request-Headers
응답 헤더[편집]
Access-Control-Allow-Origin
Access-Control-Allow-Credentials
Access-Control-Expose-Headers
Access-Control-Max-Age
Access-Control-Allow-Methods
Access-Control-Allow-Headers
각주[편집]
- ↑ on July 6, 2009 by Arun Ranganathan (2009년 7월 6일). “cross-site xmlhttprequest with CORS ✩ Mozilla Hacks – the Web developer blog”. Hacks.mozilla.org. 2012년 7월 5일에 확인함.
- ↑ “Same-origin policy / Cross-origin network access”. MDN.
- ↑ “Cross-domain Ajax with Cross-Origin Resource Sharing”. NCZOnline. 2012년 7월 5일에 확인함.
- ↑ “Cross-Origin Resource Sharing”.
- ↑ “WebAppSec Working Group Minutes”.
- ↑ “Fetch Living Standard”.
외부 링크[편집]
- Fetch Living Standard (the current specification for CORS)
![]() |
이 글은 웹사이트에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |