Node js 서버
Jul 4, 2021
»
Node.js 서버
서버 구축
//! server.js
// 투두리스트에서 보내는 투두를 저장할 노드 서버
// 1. 서버 사용을 위해서 http 모듈을 http 변수에 담는다. (모듈과 변수의 이름은 달라도 된다.)
let http = require("http");
// 2. http 모듈로 서버를 생성한다.
// 아래와 같이 작성하면 서버를 생성한 후, 사용자로 부터 http 요청이 들어오면 function 블럭내부의 코드를 실행해서 응답한다.
let server = http.createServer(function (request, response) {
response.writeHead(200, { "Content-Type": "text/html" });
response.end("Hello node.js!!");
});
// 3. listen 함수로 5001 포트를 가진 서버를 실행한다. 서버가 실행된 것을 콘솔창에서 확인하기 위해 'Server is running...' 로그를 출력한다
server.listen(5001, function () {
console.log("Server is running...");
});
서버 실행 및 접속
해당 파일에 폴더로 들어가서 CMD에 node server
를 쳐본 후 해당 포트로 들어가보면 아래와 같이 실행됩니다

소스코드 분석
-
require
let http = require('http');
require는 다른언어의 import와 유사한 기능입니다 즉 http 모듈을 require로 불러옵니다
-
createServer
let server = http.createServer( function(request, response) { response.writeHead(200,{'Content-Type':'text/html'}); response.end('Hello node.js!!'); });
위에 코드를 보면 함수가 이름이 없이 그냥 작성되 있습니다 그래서 이벤트 발생시에 콜백으로 동작합니다
그래서 서버에서 들어온 요청을 function 내부에서 선언한 request와 response라는 이름으로 사용할 수 있는 값을 넘겨줄수 있게됩니다
response
객체는 서버로 웹브라우저나 앱으로부터 어떤 요청이 있을때 요청한 사용자 측으로 반환해줄때 사용하는 객체입니다request
객체는 사용자가 요청한 내용이 담겨있는 객체입니다 -
writeHead
writeHead()
함수는 response객체를 이용해 사용자 측으로 반환값을 넘겨주는데 첫인자로는http상태코드
를 두번째 인자로는{'키': '값'}
형태의 값을 담습니다 (이게 meme타입인가 그럼)response.writeHead(200, {'Content-Type':'text/html'});
오류없이 처리가 됬으면
200
으로 응답헤더를 설정해주게 됩니다