View on GitHub

programming-study

허원철의 개발 블로그

간단한 웹 서버 만들기

const http = require('http');
const server = http.createServer();
const port = 3000;

server.listen(port, () => {
    console.log('started server by node.js');
});

웹 서버 요청 이벤트 처리하기

// server가 생성 되었다고 가정 ...
const server = http.createServer();
// ...

server.on('connection', (socket) => {
    // ...
});

server.on('request', (req, res) => {
    // ...
});

server.on('close', () => {
    // ...
});

Error: listen EADDRINUSE ~~~ 오류는 이미 해당 포트를 사용 중 일 때 발생한다.

익스프레스로 웹 서버 만들기

새로운 익스프레스 서버 만들기

> npm init
> npm install express --save

미들웨어로 클라이언트에 응답 보내기

여러 개의 미들웨어를 등록하여 사용하는 방법 알아보기

익스프레스의 요청 객체와 응답 객체 알아보기

메소드 이름 설명
send HTML, Buffer, JSON 객체, JSON 배열
status 상태 코드
sendStatus 상태 코드 + 상태 메시지
redirect 웹 페이지 강제 이동
render 뷰 엔진에 의한 웹 문서

익스프레스에서 요청 객체에 추가한 헤더와 파라미터 알아보기

이름 설명
query GET 방식으로 전송된 요청 파라미터
body POST 방식으로 전송된 요청 파라미터(body-parser 외장 모듈 추가)
header 헤더

미들웨어 사용하기

static 미들웨어

> npm install serve-static --save

body-parser 미들웨어

> npm install body-parser --save

요청 라우팅 하기

라우터 미들웨어 사용하기

URL 파라미터 사용하기

오류 페이지 보여 주기

express-error-handler 미들웨어로 오류 페이지 보내기

> npm install express-error-handler --save

토큰과 함께 요청한 정보 처리하기

쿠키와 세션 관리하기

쿠키 처리하기

> npm install cookie-parser --save

세션 처리하기

> npm install express-session --save

파일 업로드 기능 만들기

> npm install multer --save
속성 설명
destination 폴더 지정
filename 파일 이름 변경
limits 파일 크기나 갯수 제한 설정