오늘의 공부
HTTP 모듈로 (감자)서버 만들기
1. 서버 만들기 - createServer함수를 사용한다.
=> http.createServer([옵션][, 콜백]);
ex)
// Node.js 내장 모듈인 http를 가져온다.
const http = require('http');
const server = http.createServer((req, res){
console.log('응애 나 애기 서버')
});
2. 서버 실행하기 - listen 함수를 사용한다.
=> server.listen(포트 번호[, 호스트][, 콜백])
리스닝이란? 서버에서 클라이언트 요청이 있는지 계속 기다리는 것
(클라이언트의 요청에 귀를 기울인다)
ex) server.listen(3000, () =>{
console.log('3000번 포트에 서버 있어요~');
});
3. 서버 만들고 실행하기
const http = require('http');
const server = http.createServer((req, res){
console.log("응애 나 애기 서버");
});
server.listen(3000, () => {
console.log("3000번 포트에서 서버 영업중");
});
4. 서버 동작 확인하기
VS코드의 터미널에서 파일이 위치하는 폴더의 경로가 일치하는지 확인 한 후
'node 폴더 이름' 으로 확인이 가능하다.
서버가 정상적으로 실행된다면
'3000번 포트에서 서버 영업중' 이라는 문구가 뜰 것임.
(나는 뜸.)
5. 서버 종료하기
실행한 서버는 계속 돌아가고 있어서 중간에 서버 코드를 수정해도 변경 사항을 즉시 반영하지 못함.
그럴 때는 터미널에서 ctrl + c로 서버를 종료 시킨 후 다시 서버를 실행시키면 된다.
6. 요청 객체와 응답 객체
- 요청 객체 : 클라이언트에서 서버에 요청할 때 만들어지는 객체
요청 객체는 request이며 주로 req로 줄여씀.
* createServer함수에 console로 req를 찍어보면 터미널에 알아 보지도 못하는 많은 양의 정보가 뜬다...
모두 요청과 관련된 정보들임
- 응답 객체: 서버가 클라이언트로 응답을 할 때 만들어지는 객체
응답 객체는 크게 응답 헤더와 응답 본문으로 나뉘어져 있다.
그리고 요청에 대한 응답이 끝나면 서버와 연결을 지속할 필요가 없으므로 응답이 끝나면 응답을 종료한다.
응답 헤더
res 객체를 사용하려면 헤더를 만들어야한다!
헤더는 어떤 유형의 자료를 처리하는지, 서버의 상태는 어떠한지 알려주기도한다.
기본적으로 응답헤더를 만들 때는 setHeader 함수를 쓰지만,
서버의 상태까지 헤더에 기록하려면 writeHead함수를 쓰면 된다.
ex)
res.setHeader(이름, 값)
res.setHeader("content-Type", "text/plain');
res.writeHead(상태 코드[, 상태 메시지][, 헤더]);
res.writeHead(200, {'content-type' : 'text/plain});
응답 본문과 응답 종료
본문 : res.wirte(내용[, 인코딩][, 콜백]);
종료: res.end(내용 [, 인코딩][, 콜백]);
서빙(Serving)
서버에 HTML 페이지를 보여주는 방법
HTML 페이지를 서빙한다.
'개발공부' 카테고리의 다른 글
익스프레스에서 라우팅하기 (1) | 2024.01.24 |
---|---|
익스프레스 서버 만들기(감자 서버) (0) | 2024.01.23 |
Node.js 주특기 입문 1일차 (0) | 2024.01.17 |
함수 관련 공부 (0) | 2024.01.16 |
변수 var, let, const (0) | 2024.01.09 |