압축으로 API 강화
Solaris에서 이 예제 API 요청을 살펴보십시오.
API 응답은 시간이
44.6kB
인 584ms
입니다. 이것은 끔찍하지는 않지만 압축을 통해 더 작고 빠를 수 있습니다.익스프레스 압축
Node.js에 익숙하다면 아마도 Express.js을 사용한 적이 있을 것입니다.
Express는 확장 가능하며 볼트로 연결할 수 있는 많은 수의 미들웨어 라이브러리가 있습니다. 그러한 라이브러리 중 하나는 compression 입니다.
설치하려면
compression
:npm install compression
그런 다음 단순히 Express
use
함수를 호출하여 다음과 같이 미들웨어를 등록하는 경우입니다.const express = require('express');
const compression = require('compression');
const app = express();
...
// Compress all responses
app.use(compression({
threshold: 0 // Byte threshold (0 means compress everything)
}));
...
쉽죠? 이제 동일한 API 끝점을 호출하면 다음과 같은 결과가 나타납니다.
응답은 지금
8.1kB
이고 시간은 101ms
이며 이전보다 5배 이상 빠릅니다!특정 응답 압축
위의 코드를 사용하여 모든 응답을 압축할 것입니다. 어떤 이유로 API의 응답을 압축하지 않으려면 다음과 같이
filter
함수를 재정의할 수 있습니다.app.use(compression({
threshold: 0,
filter: (req, res) => {
if (req.headers['x-no-compression']) {
// don't compress responses if this request header is present
return false;
}
// fallback to standard compression
return compression.filter(req, res);
}
}));
x-no-compression
헤더가 있는 모든 API 요청은 무시됩니다.이제 API가 압축된 응답을 제공하고 이전보다 훨씬 더 나은 성능을 발휘할 것입니다!
여가 시간에는 **Solaris, check it out라는 오픈 소스 전략 게임을 개발합니다.
Reference
이 문제에 관하여(압축으로 API 강화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mikeeason/supercharge-your-api-with-compression-4ikp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)