본문 바로가기
Node.js

[Node.js] 노드제이에스 - 요청 객체와 응답 객체

by Seong-Jun 2024. 2. 5.
728x90
반응형
SMALL

Do it! Node.js 프로그래밍 입문 공부단 3일차 입니다.

 

요청 객체

const server = http.createServer((req, res) => {
    console.log(req) // 요청 객체를 알 수 있다
})

 

응답 객체

응답 객체는 헤더와 본문으로 구성되므로 헤더와 본문을 만들어야 합니다. 그리고 응답이 끝난 후에는 응답을 종료해야 합니다.

 

응답 헤더 만들기

헤더를 만들 때 서버의 자료가 JSON인지 text인지, 헤더는 어떤 유형의 자료를 처리하는지, 서버의 상태는 어떠한지 알려주기도 합니다. 헤더를 만들 때는 기본적으로 setHeader()를 사용하지만 상태 코드를 헤더에 함께 기록하려면 writeHead()를 사용합니다.

res.setHeader(이름, 값)
res.setHeader("Content-Type", "text/plain")

 

 

res.writeHead(상태코드[, 상태 메시지] [, 헤더])
res.writeHead(200, {"Content-Type": "text/plain"})

 

응답 본문 작성하기

res.write(내용[, 인코딩][, 콜백])
res.write("Hello NodeJS")

 

res.end(내용[, 인코딩][, 콜백])
res.end()

 

만약 텍스트 문자열을 하나만 보내고 끝내는 경우라면 아래처럼 한번에 작성할 수 있습니다.

res.end("내용")

 

코드 한번에 보기

// 서버 만들기
const http = require("http")

const server = http.createServer((req, res) => {
    console.log(req.method) // 요청 메서드 확인

    res.setHeader("Content-Type", "text/plain")
    res.write("Hello NodeJS")
    res.end()
})

server.listen(3000, () => {
    console.log("3000번 포트에서 서버 실행")
})

 

 

터미널

 

HTML 페이지 서빙하기

간단한 텍스트가 아닌 html 페이지를 보여주는 방법입니다. 이것을 html 페이지를 서빙한다고 하거나 서비스 한다고 합니다.

// 서버 만들기
const http = require("http")
const fs = require("fs")

// html파일 연결
const server = http.createServer((req, res) => {
    res.setHeader("Content-Type", "text/html")
    const readStream = fs.createReadStream(__dirname + "/index.html", "utf8")
    readStream.pipe(res)
})

server.listen(3000, () => {
    console.log("3000번 포트에서 서버 실행")
})

 

 

 

728x90
반응형
LIST

댓글