2022 AI SW 온라인 교육/SW 코딩 훈련트랙

[SW 코딩] Node.js와 Express.js - 04. 웹과 Express.js

parkes811 2022. 12. 5. 23:17

01 웹 서비스 동작 방식

 

  • 웹이란?

 

  • 웹 서비스 동작 방식

- 웹 서비스는 기본적으로 HTTP 요청과 응답의 반복으로 이루어진다.

- HTTP 요청은 사용자가 어떤 데이터가 필요한지를 서버에게 알리는 역할이고,

- HTTP 응답은 HTTP 요청에 해당하는 적절한 데이터를 전달하는 역할을 한다.

 

 

  • HTTP 요청 예시

- 어떤 사용자가 : User-Agent : 부분이 어떤 사용자인지 나타내는 구문이다.

- 어떤 데이터를 필요로 하는지 : Host : 부분이 어떤 데이터를 담고 있는지에 대한 구문이다.

 

 

  • HTTP 응답 예시

- 200 OK : 주어진 정보를 성공적으로 반환했을 때 

 

  • 백엔드와 프론트엔드

 

  • 정적 웹과 동적 웹

- WEB 1.0 : 사용자와 상호작용하지 않는 페이지 - 단방향 통신, Link를 통한 페이지 이동 정도만 가능하다. 일반적으로 변하지 않는 html 파일로 제공된다.

 

- WEB 2.0 : 사용자와 상호작용을 하는 페이지 - 양방향 통신, ex) 구글 맵, 웹 채팅 등 사용자가 다양한 기능을 수행할 수 있게 되었다. 프론트엔드와 백엔드가 유기적으로 통신하며 동작한다. 현대적인 웹은 대부분 동적 웹이 사용된다.

 


 

02 웹 프레임워크

 

  • 웹 프레임워크란?

 

  • 웹 프레임워크를 사용하는 이유는?

 

  • 웹 프레임워크의 기본 구성요소

- HTTP 요청 처리 : 어떤 사용자로부터 어떤 데이터를 필요로하는지, 수신되었는지 요청을 처리할 수 있다.

- HTTP 응답 처리 : 응답 데이터가 어떤 형식인지, 상태가 정상인지 등에 대한 응답을 처리할 수 있다.

- 라우팅 : HTTP 요청 URL에 해당하는 알맞은 응답 경로를 미리 설정해주는 분기 방법을 제공한다.

- HTML Templating : 응답으로 보낼 서버에서 작성하기 위한 HTML을 Template을 통해 미리 페이지의 뼈대를 만들 수 있게 해준다.

 

  • Node.js의 웹 프레임워크

 


 

03 Express.js 시작하기

 

  • Express.js를 사용하는 이유

 

  • npm init으로 시작하기 : 프로젝트 폴더를 생성하고 초기화를 시켜준다.

- 처음 접하는 사용자에게는 쉽지 않은 방법이라 아래 빠르게 시작할 수 있는 Generator 버전으로 실습을 진행한다.

 

  • express-generator 사용하기

 

  • npx + express-generator : npx를 이용하면 express-generator를 설치하지 않고 사용할 수 있다.

- 위 3가지 방법 중 자신에게 맞는 방법으로 설치를 진행한다.

 


 

04 Express.js의 구조

 

  • 기본구조 알아보기 : express.js를 사용하면 자주 나오는 파일/디렉토리 

 

05 Express.js 동작 방식

 

  • Express.js 동작 시켜 보기

 

  • Express.js 동작 따라가기

1. localhost:3000은 Express.js가 동작하고 있는 프로그램에 접속하게 된다.

 

  • app.js

 

- app 객체의 주요기능

 

  • 라우팅 : Express.js는 다양한 라우팅 방식을 제공한다. 크게 app 라우팅Express.Router를 통한 라우팅으로 나뉜다.

- app 라우팅

 

- Express.Router : app 라우팅을 통해서는 라우팅의 핵심인 그룹화를 지원하지 않고, Express.Router를 통해 라우팅을 모듈화 할 수 있다.

 

- Express.Router 모듈

 

- Express.Router 사용

 

- path parameter 사용

 

  • Request Handler

 

  • Request Handler - Request 객체

 

- Request 객체의 주요 값 및 함수

 

 

  • Request Handler - Response 객체

 

- Response 객체의 주요 값 및 함수

 

  • Express.js 동작 방식 정리