Koa.js - Önbelleğe alma

Önbelleğe alma, sonraki istekleri daha hızlı hale getirmek için yeniden kullanılabilir yanıtları depolamak için kullanılan terimdir. Her tarayıcı, bir HTTP önbelleği uygulamasıyla birlikte gelir. Tek yapmamız gereken, her bir sunucu yanıtının tarayıcıya yanıtın ne zaman ve ne kadar süreyle tarayıcı tarafından önbelleğe alınabileceği konusunda talimat vermek için doğru HTTP başlık yönergeleri sağladığından emin olmaktır.

Aşağıda, web uygulamalarınıza önbelleğe almayı dahil etmenin bazı avantajları verilmiştir -

  • Ağ maliyetleriniz azalır. İçeriğiniz önbelleğe alınmışsa, sonraki her istek için daha azını göndermeniz gerekir.

  • Web sitenizin hızı ve performansı artar.

  • İçeriğiniz, istemciniz çevrimdışı olsa bile kullanılabilir hale getirilebilir.

Uygulamamızda önbelleğe almayı uygulamak için koa-statik-önbellek ara yazılımını kullanacağız. Bu ara yazılımları kullanarak yükleyin -

$ npm install --save koa-static-cache

App.js dosyanıza gidin ve aşağıdaki kodu ekleyin.

var koa = require('koa');
var app = koa();

var path = require('path');
var staticCache = require('koa-static-cache');

app.use(staticCache(path.join(__dirname, 'public'), {
   maxAge: 365 * 24 * 60 * 60  //Add these files to caches for a year
}))

app.listen(3000);

koa-static-cacheara yazılım, istemci tarafındaki sunucu yanıtlarını önbelleğe almak için kullanılır. cache-controlbaşlık, cache nesnesini başlatırken sağladığımız seçeneklere göre ayarlanır. Önbelleğe alınan bu yanıtın sona erme süresini 1 yıl olarak belirledik. Dosya önbelleğe alınmadan önce ve sonra gönderdiğimiz taleplerin karşılaştırmaları aşağıdadır.

Bu dosya önbelleğe alınmadan önce, döndürülen durum kodu 200'dü, bu bir sorun değil. Yanıt başlıkları, önbelleğe alınacak içerikle ilgili birden çok bilgiye sahipti ve ayrıca birETag içerik için.

İstek, bir sonraki sefer gönderildiğinde, ETtag ile birlikte gönderilmiştir. İçeriğimiz sunucuda değişmediğinden, ilgili ETag'ı da aynı kaldı ve müşteriye yerel olarak sahip olduğu kopyanın sunucunun sağlayacağıyla güncel olduğu ve istekte bulunmak yerine yerel olanı kullanması gerektiği söylendi. tekrar.

Note- Önbelleğe alınmış herhangi bir dosyayı geçersiz kılmak için, sadece dosya adını değiştirmeniz ve referansını güncellemeniz gerekir. Bu, istemciye gönderilecek yeni bir dosyanızın olmasını ve istemcinin önbellekten geri yükleyememesini sağlayacaktır.