티스토리 뷰

Javascript/Node.js

Node.js 서버

dev-in-daily-life 2024. 4. 17. 15:25
반응형

"hello Node"를 출력하는 서버

 

- code

const http = require('http');

let count = 0;

const server = http.createServer((req, res) => {
    log(count);
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.write('hello\n');
    setTimeout(() => {
        res.end("Node");
    }, 2000);
});

function log(count){
    console.log((count += 1));
}

server.listen(8000, () => console.log("Hello Node"));

 

const http = require('http');

- require() 함수는 모듈을 읽어 오는 함수다.

- http 모듈을 불러와서 http 변수에 할당한다.

 

const server = http.createServer(callback);

- createServer()는 서버 인스턴스를 만드는 함수다.

- 콜백 함수를 인수로 받으며, 콜백 함수에서는 http 서버로 요청이 들어오면 해당 요청을 처리할 함수를 설정한다.

- 콜백 함수는 요청 처리에 사용할 요청(req)과 응답(res) 객체를 인수로 받는다.

 

res.statusCode = 200

- 요청에 대한 상태 코드를 200으로 설정한다.

 

res.setHeader("Content-Type", "text/plain")

- HTTP는 요청/응답에 대한 부가 정보를 설정할 수 있다.

- 부가 정보는 header에 설정하며, 컨텐츠 타입을 'text/plain' 으로 설정했다.

- 컨텐츠 타입은 해당 컨텐츠가 어떤 형태의 데이터인지 나타낸다. 

- 'text/plain' 은 텍스트를 평문으로 해석한다는 의미다. 'text/html'인 경우 텍스트를 html로 해석한다는 의미다.

 

res.write('hello\n')

- 응답으로 'hello\n'을 보낸다.

 

setTimeout(() => { res.end("node")}, 2000)

- 2 초후 'Node'를 응답으로 주고 http 커넥션(연결)을 끝내는 동작을 한다.

 

server.listen(8000, () => console.log("Hello Node"));

- 사용할 포트를 8000번으로 지정한다. 

- IP가 생략되었으므로 기본 값인 lcoalhost 혹은 127.0.0.1로 서버에 접근할 수 있다.

 

 

CURL 테스트

- curl 명령어를 통해 코드를 테스트할 수 있다.

- 위에 작성한 자바스크립트 코드를 node를 이용하여 실행한 후 curl 테스트를 진행한다.

curl localhost:8000
반응형

'Javascript > Node.js' 카테고리의 다른 글

Nodejs Express  (0) 2024.04.28
Node.js 란  (0) 2024.04.17
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
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
글 보관함