[node js ] 서버 만드는 2가지 방법 / HTTP 빌트인모듈, Express.js

HYEJIN·2022년 7월 28일
0

Node.js

목록 보기
2/4

HTTP 빌트인 모듈로 서버 만들기

// http 모듈을 불러옴
const http = require('http');

// "Welcome!"를 출력하는 서버 객체를 만든다.
http.createServer((req,res)=>{
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Welcome!');

}).listen(8080); // 8080포트로 서버를 시작
  1. http모듈은 Node.js에서 가장 기본적이고 중요한 웹 모듈로, 서버나 클라이언트와 관련된 기능을 제공
  2. createServer()
    함수로 요청받고 응답할 수 있는 http.Server 객체를 만든다.
    - request와 응답에 관한 정보를 담고있는 response라는 두 개의 매개변수가 있는 함수를 인자
    - response의 writeHead()를 이용해 요청에 응답 헤더 정보를 보낸다.
    - 인자로는 HTTP 상태 코드와 응답 헤더를 보냅니다. 응답 헤더에는 Content-Type과 같은 정보를 포함한다.
    - Content-Type은 보낼 데이터에 대한 타입을 지정합니다. (text/html외에 text/plain등 필요에 따라 설정)
    - response의 end()함수는 헤더와 본문 데이터를 서버에 전달했음을 알리며, 인자로 서버에 보낼 본문을 전달한다.
  3. http.Server 객체에 listen()으로 포트 정보를 전달하여, 연결을 수신하는 HTTP 서버를 시작한다.

Express.js 로 서버 만들기

//express.js
//express 모듈 호출
const express = require('express') 

//app 객체 생성 
const app = express()
const port = 3000

//간단한 get 라우팅 추가
app.get('/', (req, res) => {
  
  //Welcome to Express 라는 문자열을 응답으로 전달
  res.send('Welcome to Express')
})

//port(3000번)의 서버를 열고, 콜백함수 실행하면 로그가 찍힘
app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

Node.js의 빌트인 모듈인 http는 그냥 사용할 수 있지만,
Express의 경우는 npm을 통하여 설치를 해줘야한다.
npm i express

1.npm start or node express.js express.js 프로젝트 실행
2. localhost:3000에 접속하여 Welcome to Express 페이지를 확인할 수 있음.
3. express()로 생성되는 app객체 / app객체는 Express.js의 기능을 담고있다.
4. app 객체에 직접 HTTP method 중에 하나인 get을 사용하여 간단하게 라우팅 한다.

< 실행방법 >
터미널에 node express.js를 입력하거나 npm start 명령어를 입력하여 실행한다.
npm start 명령어를 사용하려면 package.json 파일의 scripts에 아래와 같이 추가되어 있어야한다.
"start":"node express.js"

0개의 댓글