Computer Science/Network

[Network] CORS(Cross-Origin Resource Sharing)란?

ooeunz 2020. 4. 10. 09:39
반응형

CORS란?

CORS란 Cross-Origin Resource Sharing의 약자로 번역하면 교차 출처 리소스 공유라는 뜻이다. 기본적으로 클라이언트에서 서버로 요청을 보낼 때, 클라이언트와 서버의 도메인이 일치하지 않으면 요청이 차단됩니다.

 

예를들어 localhost:8000번 클라이언트에서 localhost:8080 서버로 요청을 보내면 서버는 다른 포트 즉 다른 도메인에서 연결이 왔기 때문에 요청을 차단하게 됩니다. 이러한 요청이 왔을 때 구글 크롬 탭을 열어보면 아래와 같이 Access-Control-Allow-Origin 헤더가 없다는 에러가 뜨게 됩니다.

 

CORS 문제를 해결하기 위해서는 응답헤더에 Access-Control-Allow-Origin이라는 헤더를 넣어주어야 합니다. 이 헤더는 클라이언트 도메인의 요청을 허락하겠다는 의미를 가지고 있습니다. 응답헤더를 넣는 형태는 아래와 같습니다.

 

// 모든 CORS를 허용
Access-Control-Allow-Origin: *

// 특정 도메인에만 허용
Access-Control-Allow-Origin: http://localhost:8080, localhost:8000
반응형