융융이'Blog

CROS 본문

Back_End/node.js

CROS

바로퇴장 2020. 1. 21. 16:16

app.js

...
//CORS
const cors = require('cors');
let corsOptions = {
  origin: 'http://localhost:3000',
  optionsSuccessStatus:200
}
...
app.use(cors(corsOptions));
...

CORS란?

Cross Origin Resource Sharing 의 줄임말로 cross-site http Request를 가능하게 하는 표준 규약이다. 짧게 설명하자면 API 호출하고자 하는 서버의 도메인이 Client의 서버 도메인과 다를 경우에 CORS를 이용하여 가능하게 설정해주는 것을 말합니다.

img

Prefilight Request

브라우저는 실제 요청을 전송하기 전에 options메소드를 이용해서 preflight 요청을 서버로 전송한다. Preflight 요청을 받은 서버는 CORS 관련 정보를 헤더에 담아서 아래와 같은 응답을 클라이언트로 전송한다.

Request Header

  • Access-Control-Request-Method 실제 요청 때 사용할 메소드
  • Access-Control-Request-Headers: 브라우저가 실제 요청을 보낼 때 헤더에 추가할 커스텀 속성

Response Header

  • Access-Control-Allow-Origin : 허용하는 Origin
  • Access-Control-Request-Methods : 허용하는 요청 메소드
  • Access-Control-Allow-Headers : 허용하는 헤더 속성
  • Access-Control-Max-Age: preflight request 캐시하는 시간(초 단위)

img

With Credential

HTTP Cookie와 HTTP Authentication 정보를 인식할 수 있게 해주는 요청

'Back_End > node.js' 카테고리의 다른 글

npm audit  (0) 2020.05.03
npm 설치된 모듈 모두 재설치  (1) 2020.04.29
express의 app.js의 설정 주의하기  (0) 2020.01.15
Sequelize (세팅, 모델링)  (0) 2020.01.15
패스워드 저장(이론)  (0) 2020.01.13
0 Comments
댓글쓰기 폼