URL 내부에서 물음표 ('?') 뒤에 나오는 부분을 쿼리 스트링 이라고 한다.
쿼리 스트링은 사용자에게서 받은 변수를 서버에 넘기기 위해 필요하다.
http://abc.com 이라는 URL이 있다.
http는 프로토콜이다.
abc.com은 도메인(호스트)이다. 서버 컴퓨터의 주소다.
/topic은 경로이다. path이다. 일종의 라우팅을 하는 것이다.
'?' 물음표 다음부터는 쿼리 스트링이다.
id값을 1 또는 2 또는 3으로 넘기고 있는 URL 예시이다.
같은 패스 안에서도, 쿼리스트링에 따라 다른 결과가 출력되는 애플리케이션을 만들어보자!
URL에 들어오는 값은 사용자의'요청' 에 해당한다. request 에 해당한다.
app.js 에 다음의 코드를 추가해보자.
/topic 경로로 들어왔을때, URL 이 http://127.0.0.1:3000/topic?id=3 이라면
쿼리 안의 id 라는 변수 값을
req.query.id 로 접근할 수 있다.
이 때, 화면에 출력되는 결과는 3이다. id 의 값이 출력된 것이다.
2개의 값을 넘기고 싶다면?
예를 들어, id와 name 이렇게 2개의 변수를 넘기고 싶다면. 변수 사이에 & 으로 구분 해준다.
http://127.0.0.1:3000/topic?id=3&name=brocoli
app.js 코드에서, res.send() 함수 내부에는 변수간에 콤마(,) 로 연결해주면 된다.
그러면 URL의 여러개의 값에 접근할 수 있다.
응용을 위해 Express 문서를 보자.
express가 다루는 객체, 함수에 대해 그때 그때 찾아보고 활용해야 한다. 문서와 친해지자!
request 에서, query라는 객체를 찾아보면 위와 같은 예시가 있다.
'프로그래밍 > Node.js' 카테고리의 다른 글
POST방식 GET방식 (0) | 2020.03.15 |
---|---|
쿼리스트링과 시맨틱URL (0) | 2020.03.15 |
jade template engine (0) | 2020.03.15 |
Express app.use() (0) | 2020.03.14 |
Express (0) | 2020.03.13 |