-
모듈 알아보기서버/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 8080http.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