[Node.JS] 강좌 08편: HTTP Module


list

Node.JS 강좌 03편에서 맛보기로 Hello World 만을 리턴하는 웹서버를 만들어봤었습니다.
이번 강좌에서는 http 모듈을 이용해  더 기능이 향상된 웹서버과 웹클라이언트를 코딩해보도록 하겠습니다.

HTTP 서버 예제

우선 index.html 을 생성하세요.

다음엔 server.js 를 작성하세요.

클라이언트에서 서버에 접속을하면 URL에서 열고자 하는 파일을 파싱하여 열어줍니다.
파일이 존재하지 않는다면 콘솔에 에러 메시지를 출력합니다.

 

출력물

서버를 실행하고 다음 링크들을 들어갔을때 뜨는 출력물입니다:

  1. http://127.0.0.1:8081/
  2. http://127.0.0.1:8081/showmeerror
  3. http://127.0.0.1:8081/index.html

 

HTTP 클라이언트 예제


14번과 19번 줄을 보면 response.on() 을 사용하죠. .on() 메소드, 익숙하지 않나요?
response 는 강좌 07편 Event Loop에서 봤었던 EventEmitter 클래스를 상속한 객체입니다.

 

출력물

list

  • patrickLee

    현재 제 노드 버전이 6.3.1인데
    client.js 예제파일이 실행되지 않는데 혹시 version문제 인지 알고싶습니다.

    • 이동주

      node server.js로 먼저 서버를 실행 하신 후에 별도의 커맨드창을 하나 더 열고 node client.js 를 실행하셔야 할거에요

  • Shin seunghoon

    events.js:141
    throw er; // Unhandled ‘error’ event
    ^

    Error: getaddrinfo ENOTFOUND https://nodejs-liante0904.c9users.io https://nodejs-liante0904.c9users.io:8081
    at errnoException (dns.js:27:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)

    이 에러나시는 분들은 host에 http:// 없이하면 에러 안납니다.

    • CrabBaker John

      그래도 에러 나시는분은 host 를 127.0.0.1로 바꿔 보시길 바랍니다.