본문 바로가기
개발 학습/백엔드

S2: CORS와 클라이언트-서버간 요청/응답

by StelthPark 2021. 10. 12.

1. CORS 처리

 

Cors 변수 선언을 통해 허락된 조건들만 메소드요청을 보낼수 있도록 하였다.

* Origin은 요청하는 도메인 또는 주소이다. " * "으로 처리할시 모든 가능한 주소를 포함한다.

 

 

정상적인 조건에 있는 Origin일시 200으로 성공한다.
아닐시 400으로 실패하게된다.

Cors에 의해 처음 OPTIONS이라는 메소드가 들어와 조건에 맞는지 확인하게 된다. 아닐시 BAD한 요청을 보내도록 설정한다.

 

2. 요청한 메소드 처리

OPTIONS메소드를 통과한 다음 처리하기위한 메소드가 들어오게 된다.

if문을 통해 POST를 공통으로 URL이 upper인지 lower인지에 따라 요청한 body의 값을 대소문자로 변환하여 response로 응답한다. if문 조건에 들지 않을시 400의 불량한 응답을 내놓게 된다.

 

3. 응답 확인

 

 

실제로 요청을 하게 되면 preflight로 cors가 먼저 처리되기 위해 메소드로 OPTIONS를 거치게되고 정상 조건일시

fetch에 의해 요청한 Method가 처리된다.

 

*preflight는 요청할때마다 계속 처리 되지 않는다. 최초 처리후 캐시에 보관하여 있다가 일정 시간동안 또 요청시에는 처리하지않고 캐시가 삭제되면 다시 처리를 하게 된다.

 

 

참조: https://nodejs.org/ko/docs/guides/anatomy-of-an-http-transaction/

댓글