Routing
웹 어플리케이션에서 클라이언트의 요청 URL을 특정한 로직 또는 처리기(Route Handler)와 연결하는 과정 or 매커니즘
Route Handler
미들웨어로써 라우팅을 통해 요청된 URL에 대한 실제 로직 또는 코드 블록을 나타냄
특정 URL 경로와 HTTP method(GET, POST, PUT, DELETE)가 연결되어 클라이언트의 HTTP 요청을 처리한다.
Path parameter
웹 앱에서 URL 경로 내에 변수 값을 포함하는 데 사용되는 매커니즘
일반적인 미들웨어와는 다르게 route hander는 path parameter를 사용할 수 있다.
path parameter를 사용하여 주소의 일부를 변수처럼 사용할 수 있음
// EXAMPLE
const express = require('express');
const app = express();
// :username은 패스 파라미터
app.get('/users/:username', (req, res) => {
const username = req.params.username;
// username을 사용하여 사용자 프로필을 조회하거나 작업을 수행
res.send(`사용자 프로필 페이지 - 사용자 이름: ${username}`);
});
app.listen(3000, () => {
console.log('서버가 3000 포트에서 실행 중입니다.');
});
처리 과정 예시
1. client가 특정 URL을 요청. 이 요청은 웹 애플리케이션 서버로 전송됨
2. 웹 앱 서버는 요청된 URL을 분석하고 어떤 Route handler 함수와 연결해야 하는지 결정
3. 선택된 route handler 실행 (ex. db 쿼리 실행, 비즈니스 로직 처리, 요청 페이지 렌더링, json 데이터 생성 등 처리)
4. route handler는 client에게 응답을 생성하고 전송
5. client는 받은 응답을 처리하고 해당 내용을 표시하거나 다른 작업 수행
<example>
const express = require('express');
const app = express();
// 라우트 핸들러: '/' 경로에 대한 GET 요청 처리
app.get('/', (req, res) => {
res.send('홈 페이지입니다.');
});
// 라우트 핸들러: '/about' 경로에 대한 GET 요청 처리
app.get('/about', (req, res) => {
res.send('소개 페이지입니다.');
});
app.listen(3000, () => {
console.log('서버가 3000 포트에서 실행 중입니다.');
});'Back-end > Node.js' 카테고리의 다른 글
| [Node.js] Module System (0) | 2023.09.09 |
|---|