반응형
서버에는 용청을 받는 부분과 응답을 보내는 부분이 있어야 한다.
즉, 웹 상에서 http 서버가 있어야 웹 브라우저의 요청을 받고 응답을 다시 클라이언트에게 보내줄 수 있다.
node로 웹서버를 만들기 위해서 바로 http 내장 모듈을 활용할 수 있다.
const http = require('http');
http.createServer((req, res)=>{
//res.writeHead는 응답에 대한 정보를 기록하는 메서드
res.writeHead(200, {'Content-Type' : 'text/html; charset=utf-8'});
//데이터가 브라우저에 띄우게 하는 메서드
res.write('<h1>Hello Node!</h1>');
//응답을 종료하는 메서드
//만약에 인수가 있다면 그 데이터도 클라이언트로 보낸 후 응답을 종료
res.end('<p>Hello Server!</p>');
console.log('실행');
}).listen(8080, ()=>{
console.log('8080번 포트에서 서버 대기 중');
});
먼저 require 메서드에 문자열 'http'인수를 넣은 후 상수 http에 할당한다.
할당된 http 모듈에는 createServer 메서드가 있다. 메서드의 인수로 요청에 대한 콜백함수를 넣을 수 있으며
요청이 들어올때마다 매번 콜백 함수가 실행된다. 따라서 이 콜백 함수에 응답을 적으면 된다.
결국 이벤트 리스너를 가진 노드 서버를 만드는 것으로 생각하면된다.
이것을 실행하면
이런 화면으로 나온다.
여기서 localhost란 현재 컴퓨터의 내부 주소를 말한다. 자신의 컴퓨터에만 접근할 수 있으며 서버를 개발할 때 테스트용으로 많이 사용하는 주소다. localhost 대신에 127.0.0.1을 사용해도 좋다.
8080은 포트다. 포트 번호를 생략해서 칭한다. 포트 번호는 0~65535의 숫자이며 범위에 따라 용도가 결정되어있다.
애플리케이션 서비스에 따라 사용하는 포트 번호를 임의로 결정할 수 있다. 데이터베이스와 통신도 해야하고 FTP 요청을 처리하기도 한다.
일반적으로 HTTP 웹서버라면 80번 포트와 같이 포트 번호가 정해져 있기에 포트에 따라 서비스를 식별할 수 있다.
따라서 서버는 프로세스에 포트를 다르게 할당해 들어오는 요청을 구분한다.
반응형
'개발일기 > node.js' 카테고리의 다른 글
Node.js - path모듈과 static미들웨어 (1) | 2023.12.17 |
---|---|
Node.js - http 내장 모듈로 웹 서버 만들기_02 (0) | 2023.11.19 |
리눅스(LINUX)에 node.js 설치하기-centOS (0) | 2023.08.14 |
Node.js란 무엇일까? (0) | 2023.04.15 |
node.js 시작 (0) | 2023.04.09 |