클라이언트에서 서버로 요청(request)을 보내고, 서버에서는 요청의 내용을 읽고 처리한 뒤 클라이언트에 응답(response)을 보냅니다.

클라이언트로부터 요청이 왔을 때 어떤 작업을 수행할지 이벤트 리스너를 미리 등록해둬야 합니다.
1 2 3 4 5 | const http = require("http"); http.createServer((req, res) => { //응답 내용 }); | cs |
http 모듈에는 createServer 메서드가 있습니다.
createServer의 콜백 부분을 보면 req(request, 요청 정보), res(response, 응답 정보)라는 매개변수가 있습니다.
1 2 3 4 5 6 7 8 9 | const http = require("http"); http.createServer((req, res) => { res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" }); res.write("<h1>Hello Node!</h1>"); res.end("<p>Hello Server!</p>"); }).listen(8080, () => { console.log("8080번 포트에서 서버 대기 중입니다!"); }); | cs |


응답 헤더 설정
1 | res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" }); | cs |
응답 헤더를 설정하는 메서드입니다.
200 : HTTP 상태 코드로, "200"은 요청이 성공적으로 처리되었음을 나타냅니다.
Content-Type : 응답의 내용 유형을 정의합니다.
text/html : 응답이 HTML 형식임을 나타냅니다.
charset=utf-8 : 응답의 문자 인코딩이 UTF-8임을 나타냅니다.
응답 내용 설정
1 | res.write("<h1>Hello Node!</h1>"); | cs |
클라이언트에게 응답 할 내용입니다.
"Hello Node!"가 응답됩니다.
응답 종료 설정
1 | res.end("<p>Hello Server!</p>"); | cs |
종료하기 전에 응답에 추가로 작성할 내용을 지정할 수 있습니다.
"Hello Server!"가 응답됩니다.
서버 연결
1 2 3 | .listen(8080, () => { console.log("8080번 포트에서 서버 대기 중입니다!"); }); | cs |
서버를 시작하는 코드입니다.
8080 포트에서 클라이언트의 요청을 대기하도록 설정합니다.
상태코드를 다 백엔드에서 지정해주는건지 몰랐습니다. 프로젝트하면서 백엔드에서 없는 상태코드의 오류가 발생하면 알려달라고 했던 말이 이제 이해가 갔습니다.
성공을 알리는 상태 코드입니다.
리다이렉션을 알리는 상태 코드입니다.
요청 오류를 나타냅니다.
서버 오류를 나타냅니다.