코드

// Express 기본 모듈 불러오기

var express = require('express')

, http = require('http');

 

// 익스프레스 객체 생성

var app = express();

 

// 미들웨어에서 헤더와 파라미터 확인

// 아래 코드에서 파라미터는 GET 요청에 대해서만 처리 가능함 (POST는 req.body 객체 참조)

app.use(function(req, res, next) {

  console.log('첫번째 미들웨어에서 요청을 처리함.');

  

  var userAgent = req.header('User-Agent');

  var paramName = req.query.name;

  

  res.writeHead('200', {'Content-Type':'text/html;charset=utf8'});

  res.write('<h1>Express 서버에서 응답한 결과입니다.</h1>');

  res.write('<div><p>User-Agent : ' + userAgent + '</p></div>');

  res.write('<div><p>Param name : ' + paramName + '</p></div>');

  res.end();

});



// Express 서버 시작

http.createServer(app).listen(3000, function(){

console.log('Express 서버가 3000번 포트에서 시작됨.');

});

로그

 

C:\Program Files\nodejs\node.exe app.js

 

Express 서버가 3000번 포트에서 시작됨. 
첫번째 미들웨어에서 요청을 처리함. 
첫번째 미들웨어에서 요청을 처리함.

 

설명 

 

http://localhost:3000/?name=%EC%B5%9C%EC%9E%90%EB%B0%94

 

익스프레스 서버 시작 이후 위 주소로 접속하면 위에서 생성한

Express 서버에서 응답한 결과입니다.

User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Param name : 최자바

 

결과를 확인할 수 있습니다.

 

참고로 %EC%B5%9C%EC%9E%90%EB%B0%94 == 최자바 입니다.

 

get 방식으로 name 패러미터의 값을 최자바라고 지정했기에 결과가 위와 같이 나오는 것입니다.

  

아래의 코드로 헤더의 정보와 get 방식으로 받은 name 패러미터의 값을 변수에 저장하고 출력 시 사용한 것입니다.

var userAgent = req.header('User-Agent');

var paramName = req.query.name;

+ Recent posts