Study/Node.js

[노드JS] http 모듈로 요청받은 파일 내용을 읽고 응답하기

AC 2019. 3. 23. 22:47


『http 모듈로 요청받은 

파일 내용을 읽고 응답하기

______________________________


이렇게 스트림을 서로 연결하는 방법은 웹 서버를 만들고 사용자의 요청을 처리할 때 유용하다. 다음은 http 모듈을 사용해 사용자로부터 요청을 받았을 때 파일의 내용을 읽어 응답으로 보내는 코드이다.



---------------------------------------------------------------

var fs = require('fs');
var http = require('http');
var server = http.createServer(function(req, res){
   // 파일을 읽어 응답 스트림과 pipe()로 연결한다.
    var instream = fs.createReadStream('./output.txt');
    instream.pipe(res);
});

server.listen(7001, '127.0.0.1');

---------------------------------------------------------------

웹 서버에서 클라이언트로부터 요청을 받으면 먼저 output.txt 파일에서 스트림을 만든 후 클라이언트로 데이터를 보낼 수 있는 스트림과 연결해 준다. 

지금은 파일에서 만든 스트림 객체와 웹 서버의 스트림 객체를 pipe() 메소드로 연결할 수 있다는 것만 이해하면 된다.

두 객체의 연결이 가능한 이유는 파일에서 데이터를 읽어오기 위해 만든 것도 스트림 객체이고, 데이터를 씍 위해

웹 서버에서 클라이언트 쪽에 만든 것도 스트림 객체이기 때문이다.

따라서 읽기 스트림과 쓰기 스트림은 pipe() 메소드를 사용해 연결할 수 있다.






LIST