Menu
CoddyTech

http 모듈

Coddy Node.js 여정의 Express 기초 섹션에 포함된 레슨. 23개 중 2번째.

Express는 여러분이 볼 수 없는 작업을 대신 처리합니다. Express의 기반이 되는 Node 자체의 node:http 모듈을 보면 알 수 있습니다.

import http from 'node:http';

const server = http.createServer((req, res) => {
    if (req.url === '/repairs') {
        res.statusCode = 503;
        res.end('Repairs are closed today');
        return;
    }
    res.end('Welcome to the bike shop');
});

server.listen(3000);

Node는 모든 요청에 대해 함수를 호출합니다. 경로는 없습니다. 요청된 경로인 req.url을 직접 비교해야 합니다. res.statusCode는 상태 코드로, 요청이 어떻게 처리되었는지를 나타내는 숫자입니다. 200은 OK를 의미하고, 404는 찾을 수 없음을 의미합니다. res.end는 본문을 보내고 응답을 끝내므로, 그 전에 상태 코드를 설정해야 합니다.

challenge icon

챌린지

쉬움

Express를 더 살펴보기 전에, Express가 대신 해주는 작업을 확인할 수 있도록 Node의 기본 node:http 모듈을 사용해 작은 서버를 작성합니다.

  1. server.js에서 http.createServer에 전달하는 함수 안에서 req.url을 확인합니다. 값이 /이면 Home 텍스트를 보냅니다.
  2. 그 외의 모든 경로에서는 상태 코드를 404로 설정하고 Not found 텍스트를 보냅니다. 응답을 보내기 전에 상태를 설정하세요. 응답이 끝나면 상태를 변경할 수 없습니다.

직접 해 보기: ‘플레이’를 누르고 /를 전송합니다. 상태 200과 함께 Home이 표시되어야 합니다. /nope를 전송한 다음 /recipes/today를 전송합니다. 둘 다 상태 404와 함께 Not found가 표시되어야 합니다. 1과에서는 Express가 대신 404를 전송했지만, 여기서는 직접 작성합니다.

직접 해보기

import http from 'node:http';

const server = http.createServer((req, res) => {
    // / 요청에는 Home으로 응답하고, 다른 모든 경로에는 404 Not found로 응답합니다.
    res.end('Hello from Node');
});

server.listen(3000, () => {
    console.log('Listening on port 3000');
});
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Express 기초의 모든 레슨

직접 연습해 보세요: Express 플레이그라운드