728x90
반응형
Express.js에서는 다양한 미들웨어를 제공하며, 각 미들웨어는 다양한 기능을 수행합니다.
기본적인 미들웨어 종류를 예로 들면 아래 몇 가지가 있습니다.
| express.static
정적 파일을 제공하는 미들웨어
HTML, CSS, 이미지, JavaScript 파일 등을 웹 브라우저에 제공할 때 사용
| body-parser
HTTP 요청에서 body 부분을 추출하여 request 객체에 body 속성으로 추가하는 미들웨어
주로 POST나 PUT 요청을 처리할 때 사용
| morgan
HTTP 요청에 대한 정보를 로그로 출력해주는 미들웨어
주로 개발 시 디버깅 용도로 사용
| cookie-parser
쿠키를 처리하는 미들웨어
쿠키를 파싱하여 request 객체에 cookies 속성으로 추가하는 역할을 함
| helmet
HTTP 헤더를 설정하여 보안을 향상시키는 미들웨어
X-Frame-Options, X-XSS-Protection, Content-Security-Policy 등이 설정됨.
위의 미들웨어들은 순서에 큰 의미가 없지만,
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
반응형
'STUDY > ExpressJS' 카테고리의 다른 글
[5-2] Express.js 라우팅 방식 - app.get() vs app.route() vs router.route() (0) | 2023.03.30 |
---|---|
[5-1] Express.js 라우팅(Routing), 라우트(Route), 라우터(Router) (0) | 2023.03.29 |
[4-1] Express.js 미들웨어 (Middleware) (0) | 2023.03.27 |
[3-1] node.js 간단한 웹서버 (0) | 2023.03.25 |
[2-1] Express.js는 무엇이며, 하는 일은? (0) | 2023.03.25 |