Http 서버 띄우기

CCY·2020년 8월 18일
0

BackEnd (Node,Socket)

목록 보기
2/8

Http 모듈

Node.js 내장 모듈은 HTTP 서버와 클리언트를 구성하는 함수를 제공한다.
보통 웹 서버를 구성할 때는 프레임워크를 사용하여 간단하고 빠르게 웹 애플리케이션을 만들 수 있다.

Node.js 코어 모듈만 활용하여 HTTP 요청/응답 통신이 어떻게 이루어지는지 살펴 보겠다. HTTP 요청/응답을 위해서는 HTTP 서버를 만들어야 한다.

Code

const http = require("http")

const hostname = "127.0.0.1"
const port = 3000

const server = http.createServer((req, res) => {
  res.statusCode = 200
  res.setHeader("Content-Type", "text/plain")
  res.end("Hello Node.js HTTP Server")
})

server.listen(port, hostname, () => {
  console.log(`Server is running at http://${hostname}:${port}/`)
})
  1. Node.js http 모듈을 가져온다 (require(http))

  2. 서버를 생성하고자 하는 호스트 명 과 포트 번호를 지정

  3. http.createServer 함수는 웹 서버 객체를 생성하여, 반환된 서버 객체를 통해 HTTP 요청을 받으면 request 와 response 객체가 전달되며, 저장된 작업을 수행한다.

  4. response의 statusCode 속성에 요청에 대한 응답 상태 코드를 지정한다.
    statusCode 란 http에서 HTTP 상태 코드를 의미하는 , 여기서 200 상태 코드는 서버가 요청을 정상적으로 처리했다는것을 의미하는 상태코드이다.

  5. response 객체의 setHeader 함수에 헤더 정보를 지정한다. 이 헤더 정보를 통해 서버가 클라이언트 에 응답하는 자원 종류를 지정한다.
    Content-Type는 클라이언트로 전될되는 자원의 타입을 말한다.

    'text/plain 은 텍스트 파일을 의미

  6. response 객체의 end 함수는 지정된 모든 응답 헤더와 본문이 전송됬었음을 서버에 알린다.

지정한 호스트, 포트 정보로 HTTP 서버를 실행하여 연결을 수신 받는다.

  1. HTTP 서버와 클라이언트 간 통신은 메세지를 통해 주고 받는다. 이를 HTTP 메세지라고 부르는데, 메세지는 request(요청) 와 response(응답) 두 가지 종류로 나뉘며 비슷한 구조를 지닌다.

메세지를 통해 주고 받는 정보는 총 3개:

  • 요청 또는 응답에 대한 상태 정보(ex.url,statusCode)
  • HTTP 헤더(header),
  • HTTP메세지 본문(body) 정보가 메시지를 담긴다.

profile
✍️ 기록을 습관화 하자 ✍️ 나는 할 수 있다, 나는 개발자가 될거다 💪🙌😎

0개의 댓글