[NodeJS] Web Server 만들기 - HTTP모듈 사용
들어가며
지난 포스팅에서는 HTTP에 대해서 설명한바 있습니다.
[HTTP란? 특징 및 구성요소 - Request, Response, Structure, Method, Reponse Code ]
NodeJs에서 가장 기본적으로 사용되는 웹 모듈로서 http를 사용합니다.. http모듈을 사용해서 웹 서버와 클라이언트를 쉽게 생성할 수 있습니다. 서버는 request의 요청 메시지로서 url, parameter 등을 수신하고, response인 응답메시지로서 사용자에게 적절한 페이지를 전송, 쿠키 저장 및 추출, 그리고 페이지 이동의 역할을 합니다. 이번 포스팅에서는 http모듈을 사용해 간단한 Web Server를 만들어보겠습니다.
소스코드
http 모듈을 import한 뒤에 http.createServer를 통해 서버를 생성할 수 있습니다. parameter로는 callback함수를 넣어주면 됩니다. 생성을 한 뒤에 server.listen을 통해 서버에서 응답을 요청 받을 준비를 합니다. 그렇게 되면 클라이언(브라우저)에서 요청을 하게 되면 해당 메소드가 호출이 됩니다. "http://localhost:9999"로 요청을 하면 콘솔에는 요청된 url이 입력이 되고, "Hi Banana"의 텍스트를 클라이언트에게 응답을 해주고, 결과적으로 브라우저에 Hi Banana가 출력되는 것을 볼 수 있습니다. 또한 server.on을 통해 'connection'이 되었을때 localAddress를 확인을 할 수 있습니다.
var http = require('http');
// server 객체 생성 http.createServer([callback])
var server = http.createServer(function(req, res) {
console.log('req:'+req.url);
res.writeHead(200, {'Content-Type':'text/html'});
res.end("Hi Banana");
});
server.on('connection', function(socket) {
console.log('connection : ' + socket.localAddress);
});
// listen (port, [, callback]) 서버 대기 (실행) 메서드
server.listen(9999, function() {
console.log('server is listeneing on 9999');
});
실행화면
Chrome 브라우저에 현재 listen하고 있는 port번호를 입력해 주면 web server에 접속이 가능합니다. res에 담긴 Hi Banana가 화면에 출력되는 것을 확인 할 수 있습니다.
'JavaScript BackEnd > Node.js, Express' 카테고리의 다른 글
[NodeJS] 파라미터 전달 - GET, POST (0) | 2021.04.30 |
---|---|
[NodeJS] 페이지 강제 이동 - 응답헤더 작성 (0) | 2021.04.30 |
[NodeJS] WebServer 만들기 - FileSystem을 이용 (0) | 2021.04.30 |
[NodeJS] TCP 서버프로그래밍 - net 모듈 이용하기 (0) | 2021.04.30 |
[NodeJs] 파일입출력을 이용해 파일복사, 에디터 구현 (0) | 2021.04.30 |
[NodeJs] 파일 입출력 I/O Stream (0) | 2021.04.30 |
[NodeJs] NodeJs 이벤트 사용하기 - Event Emitter (0) | 2021.04.30 |
[NodeJs] NodeJs 입력받기 - readline 모듈사용 (0) | 2021.04.30 |