쿼리스트링이란?
1. 애플리케이션으로 들어오는 입력(IN)에 의해 다른 출력(OUT)을 하는 매커니즘을 좀 더 정교하게 다루는 법
언제나 똑같이 작동하는 애플리케이션도 애플리케이션이지만, 애플리케이션이 어떠한 사용자의 입력(조작)이 있을 때 그 조작에 의해서 적당한 다른 결과를 보여주는 것이 기능성이 좋은, 의미 있는 애플리케이션이라고 할 수 있다.
2. 물음표 뒤에 나타내는 정보
보통 애플리케이션은 사용자의 어떠한 입력의 영향을 받고 있을까요? 주소!
http://a.com/login 에 따라 다른 결과를 사용자에게 보여주고 있다.
사용자가 a.com/login으로 들어오면 login에 해당되는 라우터가 그 라우터와 연결되어 있는 익명함수(콘트롤러)를 호출해서 적당한 결과를 보여주었다.
http://a.com/login
http://a.com/home
http://a.com/topic
login, home, topic : path
패스에 따라 다른 결과를 주지만,
항상 http://a.com/topic으로 들어간다면 언제나 똑같은 결과를 보여주었다 여태까지는.
사고를 확장해서 하나의 path, 즉 topic이라는 라우터를 가지고 있다면 topic으로 사용자가 접근했을 때 경우에 따라 다른 결과를 보여줄 수 있다면 더 좋지 않을까요?? 그것을 하기 위한 방법. = 쿼리스트링
쿼리스트링 EX)
토픽이라고 하는 path뒤에 ?id=1
- 토픽이라고 하는 라우터에 id가 1이라고 하는 값을 전달하고 있는 것.
- 토픽은 1에 해당하는 숫자를 결과로 처리해서 그것을 화면에 표현해주면 되는 것.
- 토픽이라고 하는 하나의 라우터로 id값에 따라 서로 다른 결과를 만들어낼 수 있다.
물음표 뒤에 나타내는 정보를 웹에서는 쿼리스트링이라고 부른다.
URL 구성
- 프로토콜://
웹페이지를 요청하고 받기 위해 고안된 하이퍼 텍스트 트랜스펄 프로토콜
- a.com : 도메인 : 서버컴퓨터가 위치하고 있는 주소를 나타내고 있는 것
- /topic : path : 웹애플리케이션은 직접 서버를 구축했다면 디렉토리가 해당되지만, 여기에서는 일종의 라우터와 연관되어 있다.
- ? ~ : 쿼리스트링
쿼리스트링이란 무엇인가를 구체적으로 알기 위해서 웹 애플리케이션이 돌아가는 모습과
토픽이라는 라우터로 전달되고 있는 id의 값들 1,2,3을 어떻게 토픽이 받아서 알아낼 수 있는가를 이해해야 한다.
Express의 query 객체의 사용
1.
Line 6 : topic이라고 하는 path 로 접근했을 때 라우터 연결
Line 7 : 쿼리스트링값이 무엇이든간에 똑같은 결과를 보여주는 과묵한 애플리케이션의 모습
2. 입력값이 따라 다른 출력을 보여주기
'topic이라고 하는 path가 가리키는 콘트롤러가 알아낼 수 있는 id 값이 무엇인지를 방법을 알아내야 한다.
Line 7 : 쿼리스트링으로 전달된 값이 함수(콘트롤러)의 첫번째 매개변수(req)의 값의 쿼리(query)라는 객체의 id라는 프로퍼티 값으로 들어온다라는 뜻 (req.query.id) (참고)
3. id 값이 무엇인지에 따라 다른정보를 보여줬는데, 그 정보를 작성해보자.
Line 7-11 :서로 다른 정보를 배열에 담아두기.
4. 좀 더 접근하기 쉬운 링크 만들기
쿼리스트링? 어떤 애플리케이션에게 정보를 전달할 떄 사용하는 URL의 약속되어 있는 국제적인 표준
쿼리스트링으로 전달된 값은 request 영역이기 떄문에 첫번째 매개변수에 담겨 있는 매개변수 값인 리퀘스트 값인
Line 17 : 레퀘스트객체 . 가 가지고 있는 쿼리라는 객채 . 또 그 객체 안에 있는 id값을 통해서 가져올 수 있다. ( ${} : 변수가져오기 )
- req.params 사용한 코드 -
'Others > NODE.JS' 카테고리의 다른 글
파일 업로드 (0) | 2017.09.14 |
---|---|
Express] POST 방식을 이용한 정보의 전달 / nodejs 자동재시작 팁! (0) | 2017.09.12 |
Express] 템플릿 엔진 (Jade) (0) | 2017.09.11 |
Express-웹페이지를 표현하는 방법 (0) | 2017.09.11 |
Express] 정적파일을 서비스하는 법 (0) | 2017.09.11 |