[Node.js] 공부 2일차
1. httpServer.js 소스 분석 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | //httpServer.js var http = require('http'); //HTTP 서버 시작 http.createServer(function (req, res) { var data = []; /* 응답변수 오류 이벤트 */ res.on('error', function(err) { logger.log("event RES error : " + err); }); /* 요청변수 오류 이벤트 */ req.on('error', function(err) { logger.log("event REQ error : " + err); }); /* 요청 시 데이터 수신 이벤트 */ req.on('data', function (chunk) { data.push(chunk); logger.log(" event data chunk length : " + chunk.length); }); req.on('end', function () { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World!'); }); }).listen(9080); | cs |
var http = require('http'); |
: Node.js의 "http" 관련 모듈을 가져와서 var http 변수에 담아놓는다.
http.createServer([requestListener]) |
: http 서버를 생성한다.
server.listen([port][, hostname][, backlog][, callback]) |
: 서버의 상태를 입력받은 파라미터의 정보로 "listen" 상태로 변경하여 요청을 기다린다.
- 입력 파라미터 : port <Number>, hostname <String>, backlog <Number>, callback <Function>
- port <Number>만 입력하여 해당 포트의 요청을 기다린다. 그외의 파라미터는 생략 가능하며 추가적인 기능에 대한 내용은 확인이 되지 않아서 추후 검색하게 되는 경우 추가 내용 정리 필요할 것 같습니다.
response.writeHead(statusCode[, statusMessage][, headers]) |
: 요청에 대한 응답 메시지의 헤더를 생성한다.
- 입력 파리미터 : statusCode <number>, statusMessage <string>, headers <Object>
- statusCode <number> http 상태코드이며, 정상적인 요청에 대한 응답의 경우 "200"으로 설정한다.
추가 http 상태코드 정보 : https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C
- statusMessage <string> 생략 가능, 실제 내용에 대한 이해를 하지 못해서 따라서 사용하였습니다.
response.end([data][, encoding][, callback]) |
: 요청에 대한 응답 메시지를 전송한다.
- 입력 파라미터 : data <string> | <Buffer>, encoding <string>, callback <Function>
- data <string> 데이터를 입력하여 응답 메시지에 넘겨준다. 그외 입력 파라미터는 생략 가능하며 추후 내용 추가시 추가 작성하겠습니다.
res.on('error', function(err) {}) |
: 해당 이벤트를 연결한다.
- 입력 파라미터 : event, callback <Function>
- event 연결할 이벤트를 작성한다. 실 동작 중 해당 이벤트 호출 시 "callback"으로 정의된 함수를 호출한다. 해당 이벤트는 API 문서를 참조하여 상황에 따라서 적용하면 됩니다. 적용한 이벤트 : "error <오류 발생 시>", "data <데이터 수신 시>", "end <데이터 수신 종료 및 연결 해제 시>"
Node.js http API 참조 문서 : https://nodejs.org/dist/latest-v6.x/docs/api/http.html
Node.js http 트랜젝션 해부 : https://nodejs.org/ko/docs/guides/anatomy-of-an-http-transaction/
'Node.js' 카테고리의 다른 글
[Node.js] 공부 4 일차 - Node.js Buffer 사용법 (0) | 2017.08.15 |
---|---|
[Node.js] 공부 3 일차 - TCP 서버 및 클라이언트 (0) | 2017.08.13 |
[Node.js] 공부 1 일차 - Node.js 설치 및 동작 테스트 (0) | 2017.07.31 |