-
Node.js] 서버의 요청 및 응답 확인하기Node.js 2023. 11. 30. 15:51
1. 서버의 요청
const http = require("http"); const server = http.createServer((req, res) => { console.log( "req.url: " + req.url, "req.method: " + req.method, "req.headers:", req.headers ); }); server.listen(3000);
노드 서버는 서버의 요청을 자동으로 객체화한다.
req로 들어온 객체를 보면
이미 객체 내에 다양한 메서드가 존재한다.
- url : 포트 뒤에 따라오는 나머지 주소를 반환
- method : get, post 등 접근 방식을 반환
- headers: 브라우저의 정보를 담은 객체를 반환
노드로 위 앱을 실행시켜 보면
- url : localhost:3000/test로 접근했더니 /test가 반환
- method : get(기본)
- headers : 브라우저 정보 객체
가 콘솔창에 표시되었다.
브라우저가 노드 서버에 요청한 내용을 이와 같이 확인할 수 있다.
2. 서버의 응답
const http = require("http"); const server = http.createServer((req, res) => { res.setHeader("Content-type", "text/html"); // 브라우저에게 html을 응답한다는 것을 알림 // html 코드 작성 res.write('<html>') res.write('<head><title>My First Page</title></head>') res.write('<body><h1>Hello from my Node.js Server!</h1></body>') res.write('</html>') res.end(); // 서버의 응답이 끝났음을 알림. }); server.listen(3000);
서버의 응답 또한 객체로 확인할 수 있다.
res 객체를 보면
req와 마찬가지로 여러가지 메서드가 있다.
- setHeader : header 정보를 추가한다. 여기서는 html을 응답한다는 정보를 추가.
- write : 컨텐츠 정보 기술. 여기서는 html 구조를 직접 써주었다.
- end : 서버의 응답이 끝났음을 알린다. 이후에는 추가 정보를 전달할 수 없다.
서버에 접속하면 위와 같은 페이지가 짜잔.
개발자 도구로 네트워크를 확인해본다.
기본적인 서버의 응답은 추후 배울 패키지로 처리한다.
그러나 어떤 기전으로 응답이 이뤄지는지 알아둘 필요가 있다.
'Node.js' 카테고리의 다른 글
Node.js] 모듈 시스템 사용하기 (1) 2023.12.04 Node.js | javascript] 이벤트 기반 코드 실행 | Event-Driven (0) 2023.12.04 Node.js] 라우터 요청 : url 루트의 요청에 따라 기능이 달라지는 간단한 서버 (0) 2023.12.01 Node.js] 서버 만들기 : http 모듈, require, listen (0) 2023.11.29 1. Node.js란 무엇인가, 설치와 간단한 실행 (0) 2023.11.21