Node.js HTTP 모듈


내장 HTTP 모듈

Node.js에는 HTTP라는 내장 모듈이 있어 Node.js가 HTTP(Hyper Text Transfer Protocol)를 통해 데이터를 전송할 수 있습니다.

HTTP 모듈을 포함하려면 다음 require()방법 을 사용하십시오.

var http = require('http');

웹 서버로서의 Node.js

HTTP 모듈은 서버 포트를 수신 대기하고 클라이언트에 응답을 제공하는 HTTP 서버를 생성할 수 있습니다.

createServer()메서드를 사용하여 HTTP 서버를 만듭니다.

예시

var http = require('http');

//create a server object:
http.createServer(function (req, res) {
  res.write('Hello World!'); //write a response to the client
  res.end(); //end the response
}).listen(8080); //the server object listens on port 8080

메서드에 전달된 함수는 http.createServer() 누군가가 포트 8080에서 컴퓨터에 액세스하려고 할 때 실행됩니다.

위의 코드를 "demo_http.js"라는 파일에 저장하고 파일을 시작합니다.

demo_http.js 시작:

C:\Users\Your Name>node demo_http.js

컴퓨터에서 동일한 단계를 수행한 경우 예와 동일한 결과가 표시됩니다. http://localhost:8080



HTTP 헤더 추가

HTTP 서버의 응답이 HTML로 표시되어야 하는 경우 올바른 콘텐츠 유형의 HTTP 헤더를 포함해야 합니다.

예시

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Hello World!');
  res.end();
}).listen(8080);

메서드 의 첫 번째 인수는 res.writeHead()상태 코드이고, 200은 모두 정상임을 의미하고, 두 번째 인수는 응답 헤더를 포함하는 객체입니다.


쿼리 문자열 읽기

전달된 함수 에는 클라이언트의 요청을 http.createServer() 나타내는 req인수가 개체(http.IncomingMessage 개체)로 있습니다.

이 객체에는 도메인 이름 뒤에 오는 URL 부분을 포함하는 "url"이라는 속성이 있습니다.

데모_http_url.js

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(req.url);
  res.end();
}).listen(8080);

위의 코드를 "demo_http_url.js"라는 파일에 저장하고 파일을 시작합니다.

demo_http_url.js 시작:

C:\Users\Your Name>node demo_http_url.js

컴퓨터에서 동일한 단계를 수행한 경우 이 두 주소를 열 때 두 가지 다른 결과가 표시되어야 합니다.

http://localhost:8080/여름

다음 결과를 생성합니다.

/summer

http://localhost:8080/winter

다음 결과를 생성합니다.

/winter

쿼리 문자열 분할

쿼리 문자열을 URL 모듈과 같이 읽을 수 있는 부분으로 쉽게 분할할 수 있는 내장 모듈이 있습니다.

예시

쿼리 문자열을 읽을 수 있는 부분으로 분할합니다.

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

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  var q = url.parse(req.url, true).query;
  var txt = q.year + " " + q.month;
  res.end(txt);
}).listen(8080);

위의 코드를 "demo_querystring.js"라는 파일에 저장하고 파일을 시작합니다.

demo_querystring.js 시작:

C:\Users\Your Name>node demo_querystring.js

주소:

다음 결과를 생성합니다.

2017 July

Node.js URL 모듈에서 URL 모듈에 대해 자세히 읽어보세요 .