Node.js 4장
요청과 응답
- 클라이언트에서 서버로 요청을 보낸다.
- 서버는 요청의 내용을 읽고 처리한 뒤 클라이언트에게 응답을 보낸다.
- 따라서 서버에는 요청을 받는 부분과 응답을 보내는 부분이 있어야 한다.
- 이는 이벤트 방식으로 이루어진다.
- 클라이언트에게서 요청이 왔을 때 어떤 작업을 수행할지 이벤트 리스너를 미리 등록해 두어야 함
http 서버
createServer 메서드
- 인자로 요청에 대한 콜백함수를 넣을 수 있다.
- 요청이 들어올 때마다 매번 콜백 함수가 실행된다. (해당 콜백 함수에 응답을 적어주면 된다.)
- 콜백함수에는 req, res 매개변수가 존재한다.
- req 객체 = 요청에 관한 정보, res 객체 = 응답에 관한 정보
const http = require('http');
const server = http.createServer((req, res) => {
res.write('<h1> Hello Node! </h1>');
res.end('<p> Hello Server! </p>');
});
server.listen(8080);
server.on('listening', () => {
console.log('8080번 포트에서 서버 대기 중입니다!');
});
server.on('error', (error)=> {
console.error(error);
});
- createServer 메서드 뒤에 listen 메서드를 붙이고 포트번호와 포트 연결 완료 후 실행될 콜백 함수를 넣어준다
- 콜백 함수를 넣는 대신 위의 코드처럼 listening 이벤트 리스너를 붙여도 된다.
- res 객체에는 res.write, res.end 메서드가 있다.
- res.write의 첫번째 인자는 클라이언트에게 보낼 데이터이다. (여러번 호출도 가능)
- res.end는 응답을 종료하는 메서드이다. (인자가 있다면 그 데이터를 클라이언트에게 보내고 응답 종료)