일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- javascript opreator
- 프론트엔드 리액트
- javascript closure
- css 포지션
- 리액트 함수형 컴포넌트
- 자바스크립트 반복문
- 오블완
- 자바스크립트
- 티스토리챌린지
- 자바스크립트 연산자
- html 코드
- 자바스크립트 클래스
- 자바스크립트 async await
- html 주석
- css position
- javascript
- 자바스크립트 promise
- 자바스크립트 실행 컨텍스트
- 프론트엔드
- 리액트 개념
- 자바스크립트 상속
- 자바스크립트 scope
- 자바스크립트 생성자 함수
- css3
- CSS
- 자바스크립트 클로저
- javascript opreators
- 자바스크립트 프로미스
- 웹 개발 트렌드
- HTML
- Today
- Total
Multi Developer SuHo
Node js http 모듈을 활용한 간단한 서버 구축 본문
안녕하세요~ 저번에는 net 모듈을 이용하여 간단한 TCP 서버를 소개해드렸습니다. 이번에는 http 모듈을 활용한 net 모듈처럼 간단한 서버를 구축해보겠습니다.
📑목차
1. http 모듈을 활용한 서버 구축
1-1. http 모듈이란?
1-2. http 모듈 VS net 모듈 차이점
1-3. 코드 실행 구조
1-4. http 모듈을 활용한 서버 구축 코드
1-5. 실행 화면
서론
이전에는 net 모듈을 활용한 TCP 소켓 서버를 간단하게 구현해봤습니다. 서버와 클라이언트간에 요청과 응답을 하는 3-way-handshake 방식과 클라이언트와 서버간의 논리적 연결이 끊어졌을 때는 4-way-handshkae 방식으로 처리하였습니다. 이번에는 Node js 에서 제공하는 http 모듈을 활용한 서버를 구축해보겠습니다. 본론으로 넘어가시죠
본론
1. http 모듈을 활용한 서버 구축
1-1. http 모듈이란?
웹 서버에서 자주 사용되는 모듈로, http 프로토콜로 서버와 클라이언트를 처리한다
1-2. http 모듈 VS net 모듈 차이점
이전에는 net 모듈로 TCP 서버를 구축하였습니다. 그럼 http 모듈과는 어떤 차이가 있는지 살펴봅시다.
net 모듈
기능 : TCP 소켓 통신
프로토콜 통신 : 바이너리 데이터 송수신
사용 목적 : 채팅 서버, 소켓 서버
-----------------------------------------------------
http 모듈
기능 : HTTP 웹 서버, 클라이언트
프로토콜 통신 : HTTP 프로토콜
사용목적 : 웹 사이트 제공
1-3. 코드 실행 구조
- http 모듈을 가져와 서버를 생성하고0
- 포트번호를 3000번 포트로 지정
- 클라이언트가 http://localhost:3000으로 요청을 보냄
- 요청이 들어오면 서버는 요청 객체를 분석하고, 요청 객체를 사용하여 응답 객체를 생성하여 클라이언트에게 적절한 응답을 제공
- 서버가 res.writeHead()로 응답 헤더를 설정하고
- res.write()로 본문 내용을 클라이언트에게 전달
- 클라이언트는 "안녕하세요"라는 응답을 받음
1-4. http 모듈을 활용한 서버 구축 코드
// http 모듈 가져오기
const http = require('http');
// 포트 변수 선언
const PORT = 3000;
// 서버 객체 생성
const server = http.createServer((req, res) => {
// 첫 번째는 요청 객체
// 두 번째는 응답 객체
// console.log(res);
// console.log(req);
// res.writeHead(200, {'Content-Type' : 'text/html; charset=utf-8'})
// 응답 헤더에 대한 정보를 기록
res.writeHead(200, {'Content-Type' : 'text/html; charset=utf-8'})
// res.write() : 본문(body)에 보여지는 부분을 나타내는 메서드
res.write('안녕하세요')
res.end();
});
// 클라이언트가 서버에게 요청을 보냈을 때
// listen()
// 1. 포트번호
// 2. 콜백함수
server.listen(3000,() => {
console.log("서버 작동중...")
})
1-5. 실행화면

결론
이전에는 net 모듈을 사용했을 때는 클라이언트가 어떤 요청을 보내든 서버가 무조건 수신하는 단방향 통신으로 이루어졌습니다. 하지만 http 모듈을 사용하면 서버와 클라이언트 간의 요청과 응답을 서로 받을 수 있는 양방향 통신으로 진행된다는 것을 알 수 있게 되었습니다. 웹 서버를 구축할 때는 http 모듈을 사용하는 것이 좋다고 생각됩니다.
'Node.js 기록' 카테고리의 다른 글
Node js 라우터(Router)란? (0) | 2025.03.07 |
---|---|
Node JS EJS(Embedded JavaScript) 템플릿 엔진에 대하여... (0) | 2025.02.27 |
Node.js net 모듈을 활용한 간단한 TCP 서버 구축 (0) | 2025.02.23 |
Node js fs 모듈로 파일 시스템 처리를 통한 CRUD 제어 (0) | 2025.02.21 |
Node JS 버퍼(Buffer), 스트림(Stream) 개념 정리📑 (0) | 2025.02.20 |