Express 서버

dice0314·2023년 6월 2일
0

Express 설치

npm install express

Express 간단한 웹 서버 만들기

// express 모듈을 가져옴
const express = require('express')
// express 애플리케이션 객체 생성
const app = express()
// 서버가 실행될 포트 번호
const port = 3000

// 루트 경로에 대한 GET 요청을 처리하는 핸들러 함수 등록
app.get('/', (req, res) => {
  // 클라이언트에게 'Hello World!' 응답 전송
  res.send('Hello World!')
})

// 서버를 지정된 포트로 실행하는 함수 호출
app.listen(port, () => {
  // 실행 후 콘솔에 메시지 출력
  console.log(`Example app listening on port ${port}`) 
})

express를 사용하여 서버 구현 시 장점

  • 라우팅과 미들웨어 시스템으로 요청이나 응답 처리를 간소화 할 수 있다.
  • 코드의 가독성뛰어나고 유지보수가 쉽다.

미들웨어

  • 클라이언트의 요청과 서버의 응답 사이에서 데이터를 중개하는 함수
  • 요청을 처리하거나 응답을 수정하거나, 다음 미들웨어로 요청을 전달할 수 있다.
  • 미들웨어는 Express에서 강력하고 유연한 기능으로, 요청 및 응답 처리를 커스터마이징하고, 에러 처리, 인증, 로깅 등 다양한 작업을 수행하는 데 사용된다.
function middlewareFunction(req, res, next) {
  // 미들웨어의 처리 로직
}
  • 미들웨어는 요청객체(req), 응답객체(res), 다음 미들웨어로 전달하는 함수(next)를 매개변수로 가진다.
  • req와 res를 사용하여 요청을 처리하고, next 함수를 호출하여 다음 미들웨어로 요청을 전달한다.

미들웨어를 사용하는 상황

  • POST 요청 등에 포함된 body(payload)를 구조화할 때(쉽게 얻어내고자 할 때)
  • 모든 요청/응답에 CORS 헤더를 붙여야 할 때
  • 모든 요청에 대해 url이나 메서드를 확인할 때
  • 요청 헤더에 사용자 인증 정보가 담겨있는지 확인할 때

미들웨어 사용 예시

app.use(middlewareFunction)
app.get('/', (req, res) => {})
app.post('/', (req, res) => {})
  • app.use()를 사용하여 미들웨어를 애플리케이션에 등록한다.
  • 등록된 미들웨어는 요청이 발생할 때마다 순차적으로 실행된다.
  • 여러 개의 미들웨어를 등록하고 싶을 때는 app.use() 를 여러 번 호출하면 된다.
  • app.METHOD() 메서드를 사용하여 특정 HTTP 메서드에만 미들웨어를 등록할 수도 있습니다.(app.get() 등)
profile
정리노트

0개의 댓글

관련 채용 정보