ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 모듈 알아보기
    서버/Node.js 2017. 11. 17. 20:48

     

     

    HTTP Module

    HTTP 모듈은 Node.js를 시작할 때 가장 먼저 접하게 되는 모듈로써 이에 대해 공부하면 후에 큰 도움이 될 것이라고 확신한다.

    그렇다면 본격적으로 HTTP 모듈에 대해 공부해보자.


    The Built-in HTTP 


    빌트 인(built-in)하는 방식은 require( ) 메소드를 사용한다.


    var http = require('http');


    Node.js ad a Web Server


    HTTP 모듈은 createServer( )메소드를 통해 HTTP 서버를 만들 수 있다. req는 request를, res는 response를 의미한다.


    var http = require('http');

    //create a server object:
    http.createServer(function (req, res) {
      res.write('Hello World!'); //write a response to the client
      res.end(); //end the response
    }).listen(8080); //the server object listens on port 8080


    http.createServer( ) 메소드는 누군가 .listen( ) 안의 포트 번호를 통해 접근하면 실행된다. 


    Add an HTTP Header


    만약 위 과정에서 HTTP server로 부터의 응답을 HTML형식으로 주고 싶다면 HTTP header를 넣어주면 된다.


    var http = require('http');
    http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type''text/html'});
      res.write('Hello World!');
      res.end();
    }).listen(8080);


    여기서 res.writeHead( )의 첫 번째 인자인 '200은 아무 이상 없다'를 의미하는 상태 코드이며, 두 번째 인자는 응답 헤더의 형식을 담고 있는 객체이다.


    Read the Query String


    http.createServer( ) 메소드의 req 매개변수는 클라이언트로부터의 요청을 의미한다. 이 req 객체는 url이라는 속성을 가지고 있는데 이를 활용해보자.


    var http = require('http');
    http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type''text/html'});
        res.write(req.url);
        res.end();
    }).listen(8080);


    req.url의 값을 res를 통해 출력하는데, 이 문장이 어떻게 작용하는 지 URL에 입력하여 직접 그 결과를 확인하자.


    http://localhost:8080/catnap


    위 URL의 결과로 "/catnap" 을 출력하는 것을 확인할 수 있다.

     

     

    '서버 > Node.js' 카테고리의 다른 글

    MVC 흐름  (0) 2017.11.25
    [Pug(구 Jade)] Error - Cannot read property 'length' of undefined  (0) 2017.11.25
    Chapter3. 익스프레스 건드려 보기  (0) 2017.11.17
    Chapter2. 웹 서버 만들기  (0) 2017.11.15
    Chapter1. 노드 시작하기  (5) 2017.11.15

    댓글

Designed by Tistory.