CORS란?
Cross-Origin Resource Sharing
서버와 통신가능한 도메인과 포트번호를 제한해놓는 기능. ( feat. URI란? - 도메인 설명 )
( 도메인에 따라, 리소스 공유할지 말지 조절! )
HTTP POST 요청에 대한 메타데이터를 먼저 보내고 ( 실제 데이터 아님 )
서버는 이 메타데이터가 안전하다고 파악할 때만, 요청을 허용한다.
( 악의적인 목적의 데이터를 서버로 보내지 못하도록 )
CORS 동작 방식
1. 보내고 싶은 요청에 대한 정보를 미리 전달
* 아직 실제 요청은 하지 않는다.
주소 정보 (Origin)
메서드 정보 (POST)
헤더 정보 (X-PINGOTHER, Content-Type 등등)
2. 요청 정보를 바탕으로, 필요한 권한 허용
요청할 주소 (Origin) 확인
요청할 메서드 (POST) 확인
요청할 헤더 (X-PINGOTHER, Content-Type 등등) 확인
한정된 허용값 응답
3. 실제 요청 전송 - 허용된 주소, 메서드, 헤더만 사용가능
4. 권한에 맞는 응답 전송
CORS의 필요성
불필요한 요청이나 악의적인 요청에 응답하지 않을 수 있다.
- 해킹방어, 서버자원 효율적 운용
반응형