HTTP 서버 만들기

김무연·2023년 12월 13일

Backend

목록 보기
25/49

서버와 클라이언트

서버와 클라이언트의 관계

  • 클라이언트가 서버로 요청(request)을 보냄
  • 서버는 요청을 처리
  • 처리 후 클라이언트로 응답(response)를 보냄

노드로 http 서버 만드는 법

http 요청에 응답하는 노드 서버

  • createServer로 요청 이벤트에 대기
  • req 객체는 요청에 관한 정보가, res 객체는 응답에 관한 정보가 담겨 있음
const http = require('http');

http.createServer((req, res) => {
  
})

위의 코드로 http 서버를 만들어 줄 수 있다. 해당 서버로 req가 올 시 위의 createServer내부에 있는 callback 함수가 실행이 된다

const http = require('http');

http.createServer((req, res) => {
  res.write('<h1>Hello Node!</h1>');
  res.write('<p>Hello server</p>');
  res.end('<p>Hello mm</p>');
})
  .listen(8080, () => {
    console.log('8080번 포트에서 서버 대기 중입니다.')
  })
  • res 메서드로 응답을 보냄
    • writer로 응답 내용을 적고, end로 응답 마무리(내용을 넣어도 됨)
  • listen(포트) 메서드로 특정 포트에 연결 가능

위와 같이 코드를 진행할 시, listen으로 인해 포트번호 하나를 차지하고, node가 꺼지지 않는다.

현재 도메인을 구입하거나 한 것이 아니기 때문에, localhost 에 포트번호로 제공한다.

localhost:8080 or 127.0.0.1:8080

localhost와 포트

localhost는 컴퓨터 내부 주소

  • 외부에서는 접근 불가능
  • 즉, 내 컴퓨터에서만 가능

포트는 서버 내에서 프로세스를 구분하는 번호

  • 기본적으로 http 서버는 80번 포트 사용 (생략 가능, https는 443)
  • www.gilbut.com:80 -> www.github.com
  • 다른 포트로 데이터베이스나 다른 서버 동시에 연결 가능
profile
Notion에 정리된 공부한 글을 옮겨오는 중입니다... (진행중)

0개의 댓글