위는 URL이 어떻게 이루어져 있는지에 대한 그림이다.
이제 쿼리 스트링 (query string) 이 어떻게 노드js에서 사용될 수 있는지 보자. 먼저 main.js를 다시 켜보자.
var http = require('http');
var fs = require('fs');
var app = http.createServer(function(request,response){
var url = request.url;
console.log(url);
if(url == '/'){
url = '/index.html';
}
if(url == '/favicon.ico'){
response.writeHead(404);
response.end();
return;
}
response.writeHead(200);
response.end(fs.readFileSync(__dirname + url));
});
app.listen(3000);
url을 로그에 찍어주도록 하고 로컬호스트에 http://localhost:3000/?id=HTML 쿼리를 보내봤다. 물론 관련 페이지를 아직 만들지 않았기에 에러가 나면서, 아래와 같은 값이 출력됐다.
/?id=HTML
이제 쿼리에 있는 값들을 파싱해보자. 먼저 url 모듈을 불러와 준다.
const url = require('url');
엇 근데 방금 전 함수에서 이미 url이라는 변수를 썼다. 따라서 함수 내에서 사용할 url 변수 앞에 _ 를 붙여주자. 그 후, url 변수에서 쿼리 데이터를 파싱해온다.
const queryData = url.parse(_url, true).query;
console.log(queryData);
결과값은 아래와 같다.
[Object: null prototype] { id: 'HTML' }
즉 url을 통해 들어오는 쿼리 데이터를 파싱하면 객체를 얻을 수 있다. 이제 이 객체를 이용해 다른 새로운 기능들을 구현할 수 있을 것이다.
'Node.js' 카테고리의 다른 글
Node.js 기초 6 - 모듈 (0) | 2020.08.02 |
---|---|
Node.js 기초 5 - 파일 목록 읽기 (0) | 2020.08.02 |
Node.js 기초 4 - 콘솔에서의 입력값 (0) | 2020.08.02 |
Node.js 기초 3 - 파일 읽기 (0) | 2020.08.02 |
Node.js 기초 1 - 웹서버 만들기 (0) | 2020.07.31 |