라우트 vs 라우터 vs 라우팅 차이
- ✓ 라우트(Route): 경로, 서로 다른 네트워크 간 데이터를 전송하고 전송한 데이터를 받는 경로
- ✓ 라우터 ( Router ): 인터넷 공유기 ! 라우터는 한개의 인터넷 회신을 여러개의 네트워크가 사용할 수 있도록 쪼개주는 중계역할을 해주는 장치
- ✓ 라우팅 ( Routing ): 엔드포인트 (URI, 경로)의 정의, 해당 엔드포인트에 대한 클라이언트에 애플리케이션이 응답하는 방식
➡️ URI(또는 경로) 및 특정한 HTTP 요청 메소드 ( GET, POST등 ) 인 특정 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것
app.METHOD(PATH,HANDLER)
app
: express의 인스턴스METHOD
: HTML 요청 메서드 ( POST,GET.. )PATH
: 서버에서의 경로HANDLER
: 라우트가 일치할 때 실행되는 함수const express = require('express') const app = express() // app은 express의 인스턴스 const port = 3000 //앱은 3000번 포트에서 연결 청취 app.get('/', (req,res) => { res.send('Hello World~') }) //루트 URL(/) 또는 라우트에 대한 요청에 "Hello World"로 응답 app.listen(port, () => { // 서버 시작 console.log(`Example app listening on port ${port}`) })
node index.js
메서드와 url(/lower
,/upper
등)로 분기점을 만드는 것을 라우팅 (Routing)이라고 한다.
클라이언트는 특정한 HTTP 요청 메서드 (GET, POST 등)와 함께 서버에 특정 URI로 HTTP 요청을 보냄
➡️ 라우팅은 클라이언트의 요청에 해당하는 Endpoint에 따라 서버가 응답하는 방법을 결정 !
const requestHandler = (req,res) => { // url이 /lower인 경우 if(req.url === '/lower') { // url이 /lower이고 method가 GET인 경우 if(req.method ==='GET') { res.end(data) // url이 /lower이고 method가 POST인 경우 } else if(req.method === 'POST') { req.on('data',(req,res) => { //do something... }) } } }
const router = express.Router() // url이 /lower 이고 method가 GET인 경우 router.get('/lower', (req, res) => { res.send(data); }) //url이 /lower이고 method가 POST인 경우 router.post('/lower', (req,res) => { // 응답.. })