본문 바로가기
HTTP

[HTTP] CORS(Cross Origin Resource sharing)란 무엇인가?

by sky-j 2023. 6. 28.
반응형

CORS 란?

쉽게 설명하자면 현재 Ip가 아닌 다른 Ip로 리소스를 요청하는 구조이다.

브라우저에서는 보안 적인 이유로 cross-origin HTTP 요청들을 제한한다. 그래서 cross-origin 요청을 하려면 서버의 동의가 필요하다. 서버가 동의한 브라우저에서는 요청을 허락하고, 동의하지 않는다면 거절한다.

이런 허락 요청 및 수락, 거절 메커니즘은 HTTP-header를 이용한다. 이를 CORS(Cross-Origin Resource Sharign)라고 부른다.

 

여기서 이해가 되지 않는다면 아래 세 가지 키워드를 살펴보자.

1. Origin (Cross Origin VS Same Origin)
2. SOP
3. Access-Control-Allow-Origin

CORS는 어떻게 동작시킬까?

Cross Origin에서 자원을 요청하기 위해서는 아래 folw를 거친다.

1. HTTP 통신 헤더 Origin 헤더에 요청을 보내는 곳의 정보를 담고 서버로 요청을 보낸다.

2. 이후 서버는 Access-Control-Allow-Origin 헤더에 허용된 Origin이라는 정보를 담아 보낸다.

3. 클라이언트는 헤더의 값과 비교해 정상 응답임을 확인하고 지정된 요청을 보낸다.

4. 서버는 요청을 수행하고 200OK 코드를 응답한다.

 

CORS 자세한 동작

 

[HTTP] CORS 동작 DEEP하게 알아보기(정리해야됨)

정리해야됨

codewave.tistory.com

 

참고

https://wonit.tistory.com/307

[[HTTP] Cross Origin Resource Sharing, CORS란?

필자가 개발을 공부할 때 DevOps 부분이나 Front나 Back에서 공통적으로 마주했던 문제 몇 가지가 있었는데, CORS도 그 문제들에 포함된다. 이 말은 다음과 같다. 나는 Front 개발자인데 CORS에 대해서 몰

wonit.tistory.com](https://wonit.tistory.com/307)

https://hannut91.github.io/blogs/infra/cors

반응형