[JS] Node.js 내장 모듈 : HTTP ?
Node js 는 하나도 못알아먹겠다.
프로젝트도 끝났으니까... 공부하자 이마욤,,,
http 모듈에 대해 알아보자,,,,,,🙄
우선 그냥 http 모듈을 사용해보자.
아래는 서버 객체를 생성했지만,
8080 포트로 접속하더라도 리스너가 등록되지않은
아무런 응답을 하지않는 코드이다 ..!
var http = require('http');
var server = http.createServer();
server.listen(8080);
http.createServer([options][, requestListener])
여기서 createServer() 메서드에 리퀘스트 리스너? 함수를 넘겨주고,
8080 포트를 문제없이 띄웠을 때 Hello Node.js를 화면에 출력 / 응답하도록 찍어보자!
//1.
var http = require('http');
var server = http.createServer();
//on() => 'request', 'connection', 'close'
//'connection' 되었을 때
server.on('connection', (socket) => {
console.log("Connected!");
});
//'request' 되었을 때
server.on('request', (req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write(`<h1>Hello Node.js!</h1>`);
res.end(); //end()해주지 않으면 대기 => 리소스 낭비
});
//'close' 되었을 때
server.on('close', () => {
console.log("Bye!");
});
server.listen(8080);
여기서 ctrl + c로 닫으면 close 멘트가 나올 줄 알았는데 안나와서
찾아봤더니 ㅎㅎㅎㅎㅎㅎㅎㅎ 자체적으로 닫아줘야한다고 한다....
//추가 => 5초 뒤에 알아서 서버를 닫도록..,,,
setTimeout(() => {
server.close();
}, 5000);
같은 기능이지만 아래처럼 다른 방법으로도 사용해보장!
//2.
var http = require('http');
//req: request (client -> server), res: response (server -> client)
const Welcome = (req, res) => {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(`<h1>Hello Node.js!</h1>`);
res.end();
}
var server = http.createServer(Welcome).listen(8080);
마지막으로 W3C의 예제처럼 간편하게 ..? 작성할 수도 있다 ✏️
//3.
var http = require('http');
/*
http.createServer(function(req, res) {
res.writeHead(statusCode, statusMessage, header);
res.write(); => 클라이언트에 제공할 응답
res.end(data, encoding, callback);
}).listen(port);
*/
http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(`<h1>Hello Node.js!</h1>`);
res.end();
).listen(8080);
⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다. 참고해주시고 편안하게 봐주세요 :) ⚠️
*** 혹시라도 잘못된 정보가 있다면 언제든지 알려주시면 감사하겠습니다 ! ***
Node.js Built-in Modules
Node.js Built-in Modules Node.js has a set of built-in modules which you can use without any further installation. Here is a list of the built-in modules of Node.js version 6.10.3: Module Description assertProvides a set of assertion tests bufferTo handle
www.w3schools.com