본문 바로가기
[웹]

[Node.js] Url 파싱

by Hevton 2020. 9. 29.
반응형

node.js에서 url을 파싱하여 메타데이터(쿼리스트링)을 읽어오는 방법은 아래와 같습니다.

 

(전제조건 : 코드 상에서 웹서버가 구현되어 있어야함)

// node js의 모듈 중 url 모듈을 사용하겠다.
var url = require('url');

// 메타데이터가 queryData에 객체형식으로 담겨지게 됌.
var queryData = url.parse(_url, true).query; //_url변수에는 주소가 담겨있음


ex) 'http://site.com/?id=hevton&job=dev'

-> queryData = { id: ’hevton’, job: ’dev’ }

cosole.log(queryData.id) -> hevton

 

 

해당 방법을 웹서버 구축 코드가 적용된 코드에 실습하면

var http = require('http');
var fs = require('fs');
var url = require('url');

var app = http.createServer(function(request,response){
    var _url = request.url;
    var queryData = url.parse(_url, true).query;
    if(_url == '/'){
      _url = '/index.html';
    }
    if(_url == '/favicon.ico'){
      response.writeHead(404);
      response.end();
      return;
    }
    response.writeHead(200);
    response.end(queryData.id);

});
app.listen(3000);

 

http://주소/해당파일?id=hello

라고 입력하여 접속하면, hello가 페이지에 출력되게 된다.

 

 

ps.

서버까지 구현된 예제를 통해 queryData에 어떻게 값이 들어가는지 확실하게 보여주겠다

var http = require('http');
var fs = require('fs');
var url = require('url');

var app = http.createServer(function(request,response){
    var _url = request.url;
    var queryData = url.parse(_url, true).query;
    console.log(queryData);
    if(_url == '/'){
      _url = '/index.html';
    }
    if(_url == '/favicon.ico'){
      response.writeHead(404);
      response.end();
      return;
    }
    response.writeHead(200);
    response.end();

});
app.listen(3000);

queryData 변수 선언문 아래에 console.log를 통해 queryData에 어떤 값이 출력되는지 출력해봤다.

 

그리고 주소창에

http://주소/해당파일?id=hevton&job=dev 을 입력했을때 콘솔창엔 아래와 같이 출력된다.

{ id: 'hevton', job: 'dev' }

 

 

수업 자료의 출처는 opentutorials.org 의 이고잉님 이십니다. 감사합니다.

반응형

'[웹]' 카테고리의 다른 글

[Node.js] 콘솔에서의 입력 인자  (0) 2020.09.29
[Node.js] 파일 읽기 / 쓰기  (0) 2020.09.29
[JavaScript] Template Literal  (0) 2020.09.29
[Node.js] Node.js  (0) 2020.09.28
[JavaScript] 간단 정리  (0) 2020.09.24