Section 2 - 회고

EC kim·2022년 10월 19일
0

[Web Server]-기초

  • SOP (same origin policy)
    같은 출처의 리소스만 공유가 가능하다.

  • CORS (cross origin resource sharing)
    교차 출처 리소스 공유는 추가 HTTP헤더를 사용하여 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제

!! 프리플라이트 요청
실제 요청을 보내기 전 OPTIONS 메서드로 사전 요청을 보내 해당 출처 리소스에 접근 권한이 있는지부터 확인하는 것을 프리플라이트요청이라 한다.

장점
1. 실제 요청을 보내기 전에 미리 권한 확인을 할 수 있고 실제 요청을 처음부터 통째로 보내는 것보다 리소스 측면에서 효율적이다.
2. CORS에 대비가 되어있지 않은 서버를 보호할 수 있다. CORS이전에 만들어진 서버들은 SOP 요청만 들어오는 상황을 고려하고 만들어졌다. 따라서 다른 출처에서 들어오는 요청에 대한 대비가 되어있지 않았다.


  • Express
    Node.js 환경에서 웹 서버, 또는 API 서버를 제작하기 위해 사용되는 인기 있는 프레임워크이다. Express로 구현한 서버가 Node.js HTTP 모듈로 작성한 서버와 다른 점은 미들웨어를 추가할 수 있고 라우터를 제공한다.

매서드와 URL로 분기점을 만드는 것을 라우팅이라고 한다. 라우팅은 클라이언트의 요청에 해당하는 메서드와 URL에 따라 서버가 응답하는 방법을 결정하는 것이다.

!! Middleware
자동차공장 컨베이어벨트 위에 올려진 자동차의 뼈대에 각 공정마다 부품을 추가하는 과정에서 미들웨어는 자동차 공장의 공정과 비슷하다. 컨베이어 벨트 위에 올라가 있는 요청에 필요한 기능을 더하거나 문제가 발견된 불량품을 밖으로 걷어내는 역할을 한다. 미들웨어는 express의 가장 큰 장점이다.

자주 사용하는 미들웨어 4가지
1. Post요청 등에 포함된 body를 구조화할 때 (쉽게 얻어내고자 할 때)

2. 모든 요청/응답에 CORS헤더를 붙여야할 때

3. 모든 요청에 대해 url이나 메서드를 확인할 때


4. 요청 헤더에 사용자 인증 정보가 담겨있는지 확인할 때

++ 추가적으로 express.json() , req.params, req.query 확인하기
https://expressjs.com/


예상면접질문

promise hell을 막으려면 ??
async&await을 사용해야하는데 async&await은 비동기식 코드를 동기식으로 표현하여 간단하게 나타낸 것으로 기존의 비동기 처리 방식인 call back함수의 단점을 보완하기 위해 promise를 사용했지만 코드가 장황하다는 단점이 있었다. 이러한 단점을 해결하기 위해 도입된 비동기 처리방식의 가장 최신 문법이다. async & await는 promise 객체를 반환한다 (then을 쓸 수 있다.)

profile
프론트엔드 개발자 일기

0개의 댓글