반응형
간단한 라우터 만들기
Node.js를 사용해 작성된 간단한 웹 서버는 두 개의 경로(/user
와 /feed
)를 처리하고, 나머지 경로에 대해서는 404 오류를 반환합니다.

코드의 주요 구성 요소
http
와url
모듈을 불러오는 구문: 이들은 각각 서버 기능과 URL 분석 기능을 제공합니다.http.createServer
메소드를 사용하여 HTTP 서버를 생성하는 구문: 요청을 처리할 때 사용할 콜백 함수를 정의합니다.- 요청된 URL의 경로를 파싱하여
path
변수에 저장하는 구문:url.parse(req.url).pathname
Memo1 를 사용합니다. if...else
구문을 사용하여 요청된 경로에 따라 다른 응답을 반환하는 로직:/user
경로에 대한 요청이 있을 경우,res.end
를 사용하여 사용자 정보를 문자열로 응답합니다./feed
경로에 대한 요청이 있을 경우,res.end
를 사용하여 HTML 형식의 리스트를 응답합니다.- 그 외의 경로에 대한 요청이 있을 경우,
res.statusCode
를 404로 설정하고res.end
를 사용하여 "404 page not found" 메시지를 응답합니다.
server.listen
메소드를 사용하여 3000번 포트에서 서버를 시작하는 구문: 서버가 시작되면 콘솔에 "구름은 서버 시작!" 메시지를 로그합니다.
[Memo] Node.js에서 URL 경로를 파싱하는 과정
경로 파싱이란 URL의 각 구성 요소를 해석하여 개별적으로 액세스할 수 있도록 분해하는 과정을 말합니다. url
모듈은 URL 문자열을 쉽게 파싱하고 조작할 수 있는 유틸리티를 제공합니다.
url.parse(req.url).pathname
라인에서는 다음과 같은 작업을 수행합니다:
req.url
:req
는 HTTP 요청을 나타내는 객체입니다.url
은 요청받은 URL의 문자열을 포함하고 있습니다. 예를 들어,http://example.com/user?name=alice
가 요청 URL일 때,req.url
은/user?name=alice
부분을 담게 됩니다.
url.parse(req.url)
:url.parse
메소드는 URL 문자열을 파싱하고 각 구성 요소를 담은 객체를 반환합니다.- 반환된 객체에는
pathname
,query
,host
등의 속성이 포함되어 있습니다. pathname
은 URL에서 호스트와 포트를 제외한 경로를 나타냅니다. 쿼리 문자열(?name=alice
) 이전의 부분인/user
가 여기에 해당됩니다.query
는 쿼리 문자열(name=alice
) 부분을 담고 있습니다.
.pathname
:- 위에서 생성된 URL 객체의
pathname
속성에 접근하여 실제 경로 부분만을 추출합니다. - 이 값은 라우팅 결정을 내리는 데 사용됩니다. 즉, 어떤 경로에 대한 요청이 들어왔는지를 기반으로 다른 처리를 할지 결정하는 기준이 됩니다.
- 위에서 생성된 URL 객체의
파싱의 기능
요청된 URL의 경로를 파싱하는 것은 서버가 다양한 경로에 대해 다른 응답을 제공해야 할 때 매우 중요합니다. 예를 들어, /user
경로에서는 사용자 정보를 제공하고, /feed
경로에서는 뉴스 피드를 제공하는 등의 기능을 구현할 때 사용됩니다.
반응형
'도서로 공부하는 프로그래밍 > 코딩 자율학습' 카테고리의 다른 글
JavaScript의 `Symbol` (60) | 2024.04.30 |
---|---|
[NodeJS] Node.js의 주요 특징 (63) | 2024.04.29 |
[NodeJS] OK를 반환하는 간단 서버 만들기 (60) | 2024.04.26 |
[JS] 클로저 사용 사례, 카운터 (60) | 2024.04.25 |
[JS] 클로저 개념과 사용 사례 (57) | 2024.04.24 |