아래의 소스 코드는 node홈페이지에 있는 가장 기본적인 서버 실행 코드이다
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
서버를 실행하는데 필요한 http의 모듈을 불러와서 http에 담아둔다
서버로 요청이 올 때 마다 http.createServer 함수가 호출되어서 요청을 처리하는데
sever의 listen메소드가 먼저 호출되어야한다 보통 listen메소드는 포트 번호만 전달하면된다
그렇게 되면 포트 번호로 서버를 열고 createServer함수가 실행되는데
res객체에서 실행되는 메소드들로 응답해준다
res.statusCode = 200; --- 서버 코드
res.setHeader('Content-Type', 'text/plain'); --- 헤더
res.end('Hello World'); --- 출력 내용 + 응답 종료
서버코드 200으로 헤더 설정값과 출력할 내용을 응답으로 보내는 코드인데 이는
response.writeHead(200, {'Content-Type': 'text/plain'}); --- 서버코드 + 헤더
response.write('Hello World'); --- 출력
response.end(); --- 응답 종료
이와 동일하게 사용할 수 있다
request 객체를 이용해서는 간단한 라우팅도 해 줄 수 있는데
if(request.url === '/echo'){
response.statusCode = 200;
response.setHeader('Content-Type', 'application/json');
response.write('성공');
response.end();
} else {
response.statusCode = 404;
response.end();
}
와 같이 if문만 사용해서 url이 /echo가 아니라면 404로 응답해 줄 수 있다