본문 바로가기

개발인생다반사/TIL(Today i learned)

TIL - 211022 [Web Server] 기초(1)

node.js를 이용하여 백엔드 구축

Express, 라우팅, Server-side 디버깅

Achievement Goals

  • HTTP
    • HTTP 요청/응답을 브라우저를 통해 확인할 수 있고, 해당 내용을 읽을 수 있다.
    • HTTP 다양한 요청 방식과, 응답 코드에 대해 이해할 수 있다.
  • node.js modules의 사용
    • node.js의 내장 http 모듈을 사용할 수 있다.
    • http 모듈 사용시에 서버에 CORS 설정을 할 수 있다.
    • CommonJS를 이용한 모듈 내보내기/불러오기를 할 수 있다.
  • 라우팅과 API
    • 라우팅(조건에 따른 분기)을 이해하고, 이를 서버 코드에서 구현할 수 있다.
    • 클라이언트가 사용할 수 있도록, 서버 API 문서를 직접 작성할 수 있다.
  • Express 라이브러리
    • express 라이브러리가 어떤 작업을 단순하게 만드는지 이해할 수 있다.
    • 미들웨어의 개념을 이해할 수 있다.
  • 서버 개발과 디버깅
    • CRUD 를 수행하는 웹 서버 개발 방법을 익힐 수 있다.
    • 서버 개발을 돕는 다양한 툴들을 익힐 수 있다.

챕터 1 - CORS 리뷰 및 적용

제작한 애플리케이션이 다른 서버의 리소스(서버자원)를 요청하는 경우가 많아지고 있음

이게 CORS(Cross Origin Resource Sharing)

 

그런데 보안상의 이유로 브라우저에서 크로스 도메인 요청은 기본적으로 제한되어 있다.

본래의 서버가 아닌 API를 통해 다른 서버의 리소스를 요청하는 경우가 많아지고 있음(Cross Origin)

 

웹 애플리케이션 고도화 개선 요청 - 서버가 허용한 범위내에서 크로스 가능하게 함

 

(Preflight requests)

다른 서버에서 리소스를 받기 전 OPTION라는 방식으로  해당 서버에 자신이 허용이 된게 맞는지 확인하는 작업 선행

챕터 2 - Mini Node Server

웹 서버 : HTTP 요청을 처리하고 응답을 보내 주는 프로그램

node.js의 http 모듈을 이용해서 웹서버 제작(node.js에서 fs모듈을 사용)

 

 

챕터 3 - How to debug Node app

Node.js Debugging guide 

inspect switch로 시작할 수 있음