CORS ( Cross-Origin Resource Sharing ) : 교차 출처 리소스 공유
CORS
브라우저는 보안상의 이유로, HTTP-Header 를 통해서 허락을 구하는 과정이 있는데 이를 CORS 라고 한다.
그래서 CORS 가 뭔데?
Cors 는 Cross-Origin Resource Sharing 의 약자로, 교차 출처 리소스 공유라고 한다.
사실 처음 이렇게 들었을땐 무슨 말인지 감이 안잡혔다. 일단 가장 익숙한 www.google.com 을 예시로 들어보자.
Cross-Origin , 교차 출처 즉 서로 다른 출처를 뜻한다. Origin 이라고 하는 것은 Protocol ( Https:// ) + Domain ( www.google.com ) + Port ( : 80 ) 를 합친 URL 인데 이 중에 하나라도 다르다면 다른 출처라고 한다.
참고로 Port 는 도메인에서 생략이 가능하다. 실제로 구글이나 네이버에 80번 포트를 쓰면 잘 들어가지는 것을 확인할 수 있다.
그래서 결론은 다른 출처의 자원을 공유하는 정책인것이다.
그럼 어떻게 허용하는데?
Cross-Origin Resource Sharing 정책을 허용하는 방법으로는 Access-Control-Allow-Origin 으로 서버측 응답에 접근 권한을 주는 헤더를 추가해서 해결할 수 있다.
CORS의 기본 동작은 클라이언트에서 HTTP 요청의 헤더에 Origin 을 담아 전달, 서버가 응답 헤더에 Access-Control-Allow-Origin 을 담아 클라이언트에 전달, 클라이언트에서 자신이 보냈던 요청의 Origin 과 서버가 보내준 Access-Control-Allow-Origin 을 비교로 이루어진다.
'Computer Science' 카테고리의 다른 글
[NETWORK] HTTP 의 State Code 설명 (0) | 2023.01.10 |
---|---|
[NETWORK] HTTP 의 GET, POST 비교 (0) | 2023.01.10 |
[NETWORK] HTTP 와 HTTPS (1) | 2023.01.10 |
[NETWORK] 쿠키와 세션, 그리고 브라우저 스토리지 ( Web Storage ) (0) | 2023.01.10 |
[Network] 사용자의 패스워드를 전송하고 보관하기. (0) | 2023.01.10 |