Application의 기능을 다시 한 번 살펴볼 필요가 있다.
입력에 따라서 출력을 하는
(input)입력 -> Application -> 출력(output)
어떠한 사용자의 조작이 있을 때 다른 것을 보여주는 것을 우린 애플리케이션이라고 한다.
다음과 같은 URL이 있다고 가정하자.
topic을 URL의 구성요소 중 'path'라고 한다.
topic으로 접속을 하게 되면 언제나 똑같은 결과를 보여준다.
경우를 나눠서 다른 결과를 보여주면 좋지 않을까
이 때 쿼리 스트링을 이용한다.
id 값 1을 전달. 1에 해당하는 결과를 출력.
물음표 뒤에 나타나는 것을 "쿼리 스트링"이라고 한다.
하나의 패스에서 다른 아이디값에 따라서 다른 화면을 출력;
function(req,res)request 정보가 들어오게된다!app.get('/topic', function(req,res){res.send(req.query.id);})
id 를 쿼리스트링이라고 한다.
http://localhost:3000/topic?id=1&name=jy
res.send(req.query.id+','+req.query.name);
: 두가지를 동시에는 URL 에서는 & 코드에서는 +','+
시맨틱 URL
쿼리 스트링 기호 없이 URL을 나타낸다.
쿼리 스트링 방식 -> Path 방식으로.
app.get('/topic', function(req,res){
...
${topics[req.query.id]}
...
}
이 두 부분을 변경!
app.get('/topic/:id', function(req,res){
${topics[req.params.id]}
.params 메소드를 이용한다.
시맨틱 URL 로 바꾸면 html 코드의 링크 속 주소도 바꿔줘야 한다.
코드>
app.get('/topic/:id', function(req,res){var topics = ['JavaScript is ...','Node.js is ...','Express is ...'];// topic 이라는 배열을 만들었다.var output = `<a href="/topic/0">JavaScript</a></br><a href="/topic/1">Node.js</a></br><a href="/topic/2">Express</a></br></br>${topics[req.params.id]} //id값이 배열의 index값으로 들어가게 된다.`res.send(output);})app.get('/topic/:id/:mode', function(req,res){res.send(req.params.id+','+req.params.mode)});
+ ' , ' + 를 이용해 계속 안으로 들어갈 수 있다.
생활코딩 감사합니다^^
-..-
'Dev.BackEnd > Node.js' 카테고리의 다른 글
[열번째] Node.js 기본 / 클라이언트와 서버의 의사소통 방식 (GET & POST) II (0) | 2016.04.08 |
---|---|
[아홉번째] Node.js 기본 / 클라이언트와 서버의 의사소통 방식 (GET & POST) I (0) | 2016.04.08 |
[일곱번째] Node.js 기본 / Template Engine, Jade 동적 파일 제공 (0) | 2016.04.08 |
[여섯번째] Node.js 기본 / 정적 파일 제공 (0) | 2016.04.08 |
[다섯번째] Node.js 기본 / Express 도입 (0) | 2016.04.08 |