-
[Node.js] URL 파싱(parsing)JavaScript 2023. 12. 17. 02:08반응형
[복습]
- Node.js의 http 모듈을 사용하여 기본적인 웹 서버를 만드는 예시 코드
const http = require('http'); // 서버 생성 const server = http.createServer((req, res) => { // 응답 헤더 설정 res.writeHead(200, {'Content-Type': 'text/plain'}); // 응답 본문 보내기 res.end('Hello, World!\n'); }); // 서버가 3000 포트에서 수신을 시작 server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
✔️URL 파싱
1. 경로 기반 라우팅 (Path-Based Routing)
- 요청된 URL의 경로 부분을 파싱하여, 서버는 어떤 엔드포인트(endpoint)나 리소스에 대한 요청인지 식별할 수 있다. 예를 들어, /users와 /products 경로에 대한 요청을 다르게 처리할 수 있다.
2. 쿼리 매개변수 처리 (Query Parameter Handling)
- URL의 쿼리 매개변수(예: ?id=123&category=books)를 파싱하면, 서버는 이러한 매개변수를 기반으로 요청을 필터링하거나 특정한 방식으로 데이터를 반환할 수 있다.
3. RESTful API 구현
- RESTful 원칙에 따른 API를 구현할 때, URL의 구조가 자원과 그에 대한 동작을 나타내는데 중요한 역할을 한다. 예를 들어, GET /users/123 요청은 ID가 123인 사용자의 정보를 가져오는 것으로 해석된다.
- URL 모듈을 사용하여 들어오는 요청의 URL을 파싱하는 예시 코드
const http = require('http'); const url = require('url'); const server = http.createServer((req, res) => { // URL 파싱 const parsedUrl = url.parse(req.url, true); // 요청된 URL 경로 const path = parsedUrl.pathname; const trimmedPath = path.replace(/^\/+|\/+$/g, ''); // 응답 보내기 res.writeHead(200, {'Content-Type': 'text/plain'}); res.write(`Requested path: ${trimmedPath}`); res.end('\nHello, World!'); }); // 서버가 3000 포트에서 수신을 시작 server.listen(3000, () => { console.log('Server listening on port 3000'); });
반응형'JavaScript' 카테고리의 다른 글
[Node.js] Url에 따라 프론트엔드에 다른 response 보내기 | new URL (2) 2023.12.17 [Node.js] URL parsing | TypeError: handle[pathname] is not a function | favicon.ico에러 (0) 2023.12.17 [Node.js] 웹서버 구축하기, 서버 모듈화 | http basic (1) 2023.12.08 [JS] script 태그의 defer와 async 차이점? (0) 2023.12.08 [JS] JavaScript의 시작, Node.js과 NPM CLI (0) 2023.12.06