본문 바로가기
STUDY/ExpressJS

[4-2] express.js 미들웨어 여러 기능들

by Y.Choi 2023. 3. 27.
728x90
반응형

Express.js에서는 다양한 미들웨어를 제공하며, 각 미들웨어는 다양한 기능을 수행합니다.

 

 

기본적인 미들웨어 종류를 예로 들면 아래 몇 가지가 있습니다.

 

| express.static

정적 파일을 제공하는 미들웨어
HTML, CSS, 이미지, JavaScript 파일 등을 웹 브라우저에 제공할 때 사용

 

express.static 사용방법

 

 

| body-parser

HTTP 요청에서 body 부분을 추출하여 request 객체에 body 속성으로 추가하는 미들웨어
주로 POST나 PUT 요청을 처리할 때 사용

 

body-parser 사용방법

 

 

| morgan

HTTP 요청에 대한 정보를 로그로 출력해주는 미들웨어
주로 개발 시 디버깅 용도로 사용

 

morgan 사용방법

 

 

| cookie-parser

쿠키를 처리하는 미들웨어
쿠키를 파싱하여 request 객체에 cookies 속성으로 추가하는 역할을 함

 

 

 

| helmet

HTTP 헤더를 설정하여 보안을 향상시키는 미들웨어

X-Frame-Options, X-XSS-Protection, Content-Security-Policy 등이 설정됨.

 

helmet 사용방법

 

 

위의 미들웨어들은 순서에 큰 의미가 없지만,

express.static은 가장 먼저 등록되어야 하며, helmet은 보안을 강화하기 위해 가능한 빨리 등록하는 것이 좋습니다.

 

 

일반적으로, 다음과 같은 순서로 미들웨어를 등록합니다.

const express = require('express');
const app = express();

// 정적 파일 제공
app.use(express.static('public'));

// body-parser 사용
app.use(express.urlencoded({ extended: false }));
app.use(express.json());

// HTTP 로그 기록
app.use(morgan('dev'));

// 쿠키 파서
app.use(cookieParser());

// 보안 미들웨어
app.use(helmet());

 

728x90
반응형