URL 내부에서 물음표 ('?') 뒤에 나오는 부분을 쿼리 스트링 이라고 한다. 

 

쿼리 스트링은 사용자에게서 받은 변수를 서버에 넘기기 위해 필요하다. 

 

http://abc.com 이라는 URL이 있다. 

 

http는 프로토콜이다.

 

abc.com은 도메인(호스트)이다. 서버 컴퓨터의 주소다.

 

http://abc.com/topic?id=1 

http://abc.com/topic?id=2

http://abc.com/topic?id=3 

 

/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 의 값이 출력된 것이다. 

3이 출력된 화면

 

2개의 값을 넘기고 싶다면? 

 

예를 들어, id와 name 이렇게 2개의 변수를 넘기고 싶다면. 변수 사이에 & 으로 구분 해준다. 

http://127.0.0.1:3000/topic?id=3&name=brocoli

 

app.js 코드에서, res.send() 함수 내부에변수간에 콤마(,) 로 연결해주면 된다. 

그러면 URL의 여러개의 값에 접근할 수 있다. 

 

 

응용을 위해 Express 문서를 보자. 

 

express가 다루는 객체, 함수에 대해 그때 그때 찾아보고 활용해야 한다. 문서와 친해지자!

 

request 에서, query라는 객체를 찾아보면 위와 같은 예시가 있다. 

 

 

728x90

'프로그래밍 > 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

+ Recent posts