node.js에서 js같은 파일을 압축전송하는 방법을 알고 싶습니다.
조회수 769회
이거 비슷한 질문을 몇번 하고 삭제하면서 따로 검색한결과 제가 원하는 과정이 압축전송이란걸 알게 되었습니다.. 그래서 결론은
gzip을 이용한 압축전송 방법에 대해 알고싶습니다. 찾아봐도 제대로 배운게 없으니 잘 모르겠네요...
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
-
그냥 기본만 알려드리면
https://nodejs.org/api/zlib.html
zlib
를 쓰시면 되고파일을 읽는 파일 스트림 객체에 파이프 연결로 gzip과 response 객체를 순차적으로 연결하면 됩니다.
그리고 브라우저에서 제대로 받기 위해서는 응답 header값에
'Content-Encoding': 'gzip'
을 써서 내려주시면 되고요.const zlib = require('zlib'); const http = require('http'); const fs = require('fs'); http.createServer((request, response) => { const raw = fs.createReadStream('something.js'); response.writeHead(200, { 'Content-Encoding': 'gzip' }); raw.pipe(zlib.createGzip()).pipe(response); }).listen(3000);
노드만으로 이 모든것이 당연히 가능하지만,
실제 서비스 단계에서는 이런 정적 리소스들의 추가 세팅은 @엽토군 님의 말씀처럼 웹서버 설정으로 처리하는 것이 더 일반적입니다.
댓글 입력