Node/http 모듈로 서버 만들기

HTTP 서버 만들기

webmaster 2022. 9. 5. 00:33
728x90

서버와 클라이언트

클라이언트 - 서버 관계

  • 클라이언트가 서버로 요청(request)을 보냄
  • 서버는 요청을 처리
  • 처리 후 클라이언트로 응답(response)을 보냄
  • 요청 - 응답은 대부분 http 프로토콜을 이용해서 통신을 한다

노드로 http 서버 만들기

http 서버 생성
서버 접속 과정

  • http 요청에 응답하는 노드 서버
    • req 객체는 요청에 관한 정보가, res 객체는 응답에 관한 정보가 담겨 있다
    • createServer로 요청 이벤트에 대기한다
  • res 메서드로 응답 보낼 수 있다.
  • write로 응답 내용을 적고 end로 응답 마무리(내용을 넣어도 됨)한다.
  • listen(포트) 메서드로 특정 포트에 연결한다

localhost와 포트

포트별로 다른 프로세스에 접근이 가능하다

  • localhost는 컴퓨터 내부 주소이다 (외부에서는 접근 불가능)
  • 포트는 서버 내에서 프로세스를 구분하는 번호
    • 기본적으로 http 서버는 80번 포트 사용(생략 가능, https는 443) 예) www.gilbut.com:80 -> www.github.com
    • 다른 포트로 데이터베이스나 다른 서버 동시에 연결 가능

이벤트 리스너 붙이기

이벤트 붙이기

  • 이벤트 리스너를 붙여 listening과 error 이벤트를 붙일 수 있다.
    • 서버는 error 처리를 반드시 해주어야 한다.
    • listening을 이벤트로 빼므로서, 콜백을 사용하지 않고, 분리시킬 수 있다.

한번에 여러개의 서버 실행하기

여러번 실행하기

  • createServer를 여러 번 호출하면 된다.
  • 같게 지정하면 EADDRINUSE 에러 발생한다.
    • 단, 두 서버의 포트를 다르게 지정해야 한다
728x90

'Node > http 모듈로 서버 만들기' 카테고리의 다른 글

https, http2  (0) 2022.09.05
세션 사용하기  (0) 2022.09.05
쿠키 이해하기  (0) 2022.09.05
REST API 서버 만들기  (0) 2022.09.05
fs로 HTML 읽어 제공하기  (0) 2022.09.05