Network/HTTP

[HTTP] CORS - Cross Origin Resource Sharing 교차 출처 리소스 공유

aliceintr 2021. 1. 20. 05:47
반응형

브라우저 간에 데이터를 주고 받는 과정에서 도메인 이름이 서로 다른 사이트간에 api 를 요청할 때, 공유 설정을 하는 것을 말한다.

Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any other origins (domain, scheme, or port) than its own from which a browser should permit loading of resources. CORS also relies on a mechanism by which browsers make a “preflight” request to the server hosting the cross-origin resource, in order to check that the server will permit the actual request. In that preflight, the browser sends headers that indicate the HTTP method and headers that will be used in the actual request.

아래의 예시를 들어 설명해 보고자 한다.

https://domain-a.com 의 프론트 엔드 JavaScript 코드가 XMLHttpRequest 를 사용하여 자신의 서버가 아닌 다른 도메인 서버 https://domain-b.com/data.json 에 데이터를 요청하는 경우

디폴트로 보안상의 이유때문에 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청을 제한한다. 예를 들어, XMLHttpRequest와 Fetch API동일 출처 정책을 따른다. 즉, 이 API를 사용하는 웹 애플리케이션은 자신의 출처와 동일한 리소스만 불러올 수 있으며, 그 출처에서 올바른 CORS 헤더를 포함한 응답을 반환해야지만 다른 출처의 리소스를 불러올 수 있다.


Reference

developer.mozilla.org/en-US/docs/Web/HTTP/CORS

 

Cross-Origin Resource Sharing (CORS) - HTTP | MDN

Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any other origins (domain, scheme, or port) than its own from which a browser should permit loading of resources. CORS also relies on a mechanism by whi

developer.mozilla.org

 

반응형

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

[HTTP] HTTP/ HTTPS Protocol  (0) 2021.01.24
[HTTP] HTTP Cookies, Session, Cache  (0) 2021.01.14