internet pencereler Android
Genişletmek

Müşterinin temelleri net kelimeleri ve örnekler üzerinde önbelleğe almak. Son değiştirilmiş, ETAG, Süresi, Önbellek Kontrolü: Max-Yaş ve Diğer Başlıklar

Alexsol. AJAX navigasyonunun iyileştirilmesiyle ilgili ilginç bir fikir ifade etti. Fikir harika. Ancak değiştirilebilir. Nasıl? Önderlik ettiği örneğe dikkat edin.

Bir bağlantıya tıkladığınızda, bir içerik beslenir. İkincisi tıkladığınızda. Ama önce tekrar basarsanız, sunucunun ilk içeriği tekrar rezerve edilecektir! Bu verileri tarayıcıda önbelleğe almak daha akıllı olur ve isteği bir kez daha sunucuya göndermez. Önbelleğe almak için başvurmak güzel olurdu.

Javascript'te önbellekleme nasıl yapılır? Bu makale bu konuda.

Bir nesneyi kullanarak önbelleğe alma

Söylemek istediğim yöntem, JavaScript nesnesini kullanarak önbelleğe alıyor. Alt çizgi, isimleri konumlarla çakışan bir karma dizisi nesnesi oluşturmamızdır. Bu alanların değerleri önbelleğe alınmış metinlerdir.

// Küresel bir nesne oluştur
var önbellek \u003d yeni nesne ();

Önbelleğe Bir Şey Nasıl Yazılır? Çocuk oyuncağı!

uyarı (Cache.key);

Ek olarak, JS'deki nesnelerin esasen ilişkisel diziler olduğunu hatırlamanız gerekir. Yani

Cache.key \u003d\u003d önbellek;

Bu bilgiyle silahlı, test başvurumuzu oluşturmaya devam edin.

HTML yapısı

Başlamak için HTML ile tanımlarız. Böyle bir şeyim var:



jqurey önbellek ajax




1 |
2 |
3


Gördüğünüz gibi, AlexSol yöntemine göre güzel navigasyon yapmak için geri ayrılmaya karar verdim. Yapmayacağım, ancak sabitlemek için iki dakikalık bir şey olacak. Şimdiye kadar, GetData'nın ne yaptığını öğrenelim mi?

var önbellek \u003d yeni nesne (); // önbellek nesnesi oluştur

fonksiyon GetData (ID_LOC, URL2LOAD) (
if (önbellek) ( // önbellekte gerekli veri yoksa
// Gerekli dosyayı yükleyin ve cache_n_go işlevini arayın,
// dosyanın içeriğini ve boşta referansı iletiriz
$ .get (URL2LOAD, FUNCTION (VERİ) (CACE_NN_GO (VERİ, ID_LOC)));
}
// İhtiyacınız olan veriler zaten varsa
BAŞKA (
// önbellekten veri al
Showres (önbellek + "(önbellekten)");
}
}

Gördüğünüz gibi, burada sadece önbelleğe alma yararlarını kullanıyoruz. Zaten verilerimiz varsa, onları önbellekten çıkarırız. Henüz değilse, o zaman sunucudan.

Şimdi cahce_n_go fonksiyonunda neler olup bittiğini görelim.

fonksiyon cache_n_go (metin, id_loc) (
Önbellek \u003d metin;
Showres (metin);
}

İçinde doğaüstü bir şey yok. Elde edilen metni önbelleğe alır ve gösterileri göstermek için gösterileri işlevlerini gönderir. Bu arada, o:

fonksiyon Gösterileri (Metin) (
var ris \u003d $ ("# res");
res.empty ();
res.html (metin);
}

Gördüğünüz gibi, metni alır, bloğu çıktı içeriğine boşaltır ve ona teslim edildiğini gösterir. Bu kadar.



Bazen, tarayıcı önbelleğini yasaklamak gerekir, çünkü bu bilgiler her seferinde güncellenir. Her seferinde yeni bir şekilde oluşturulan seçilen filtreler veya diğer içerikleri, sırasıyla veri üretebilir. Bir kelimeyle, kurnazlık programının önbellek sayfasını yasaklamanız gerektiğinde zamanlar vardır. Bugün, bunu PHP veya HTML veya HTML veya HTML veya HTML kullanarak nasıl uygulanacağını öğreniyoruz.

HTML'de sayfa önbellekleme yasağı

Bu, meta etiketlerinin yardımıyla yapılabilir. Şimdi önbellekleme için farklı seçenekleri analiz edeceğiz.

Tarayıcı ve proxy sunucusu tarafından önbelleğe alma

Yasaklama Sayfası, Yalnızca Tarayıcı

Tarayıcı için belirli bir süre için önbellekleme kurmak

Aşağıdaki kodun yardımıyla, tarayıcıya, belgeyi önbellekte saklamak için ne kadar olduğunu söyleyebiliriz. Bundan sonra önbellek güncellenecektir.

Proxy sunucusu için belirli bir süre için önbellekleme takma

Pratik olarak, önceki koddaki gibi aynı, yalnızca gösterge özellikle Proxy sunucusu içindir.

PHP ile önbelleğe alma sayfasını devre dışı bırak

Pratik olarak, hepsi aynı şey, HTML durumunda, yalnızca bilgileri başlık başlığından görüntüleyeceğiz. İşte önbellekteki mutlak yasağı nasıl uygulanacak:

", Tarih (" H: I: S "),""; ?>

Ayrıca, önbelleği belirli bir süre için çözebilirsiniz. Örneğin, yalnızca 1 saat boyunca önbelleğe almaya izin verir.

", Tarih (" H: I: S "),""; ?>

Kullanılacak sayfa önbellekleme yasaktır.

Fikrinin uygulanmasının basitliği için, Apache sunucu yapılandırmalarında her şeyi yapabilirsiniz. Bundan önce, gerekli modüllerin çalışma koşullarında olduğundan emin olmalıyız. Apache yapılandırma dosyasını açın ve aşağıdaki resme dikkate alın:

LoadModule Expires_Module modülleri / mod_expires.so loadmodule headers_module modülleri / mod_headers.so ... AddModule mod_expires.c addModule mod_headers.c

Şimdi dosyada.htaccess, aslında önbellek çıktısını yasaklıyorsunuz. Bildiğimiz gibi, .htaccess dosyası, yalanların ve tüm alt dizinlerde bulunduğu dizine yayılır.

# Önbellek kontrol başlığı Başlık, önbellek kontrolünü ekliyor "Mağaza yok, önbellek, yok, gerilemeli" # Başlık sona eriyor. ExpirseDefault "şimdi" expirative

Önbellekleme tam yer değiştirmesinin sunucudaki yükü arttırdığını fark etmek önemlidir. Öyleyse, dikkatlice oynayın! Ve daha iyi, belgeleri önbelleğe alabileceğiniz belirli bir süre ayarlayın. Örneğin, 1 saat boyunca önbellekleme kurun:

# Önbellek kontrol başlığı Başlık önbellek kontrolünü ekliyor "Genel" # Başlık sona eriyor. ExpirseDefault "Access Plus 1 Saat"

Sonuç

Nakit, hemen hemen her web uygulamasının çalışmasında, veritabanları, web sunucuları ve müşteride çalışma düzeyinde önemli bir rol oynar.

Bu makalenin çerçevesinde, müşteri önbelleğe alma ile başa çıkmaya çalışacağız. Özellikle, HTTP başlıklarının tarayıcılar ve web sunucuları tarafından kullanıldığı ve ne anlama geldikleri ile ilgileneceğiz.

Ama önce öğrenelim neden müşteri tarafında önbelleğe almaya ihtiyacın var?.

Web sayfaları çeşitli farklı öğelerden oluşur: Resimler, CSS ve JS dosyaları vb. Bu elemanların bazıları, sitenin birkaç (birçok) sayfasında kullanılır. Müşteri önbelleğe alma altında, tarayıcıların yeteneği, dosyaların kopyalarını (sunucu yanıtları) tekrar yüklememek için kaydetmektir. Bu, sayfaların yeniden yüklenmesini önemli ölçüde hızlandırmanızı, trafikten tasarruf etmesini ve sunucuya yükü azaltmanıza olanak sağlar.

İstemci tarafındaki önbellek işlemlerini kontrol etmek için birkaç farklı HTTP başlığı vardır. Hadi her biri hakkında konuşalım.

İstemciyi yönetmek için HTTP başlıkları

İlk önce, sunucunun ve tarayıcının herhangi bir önbellekleme yokluğunda nasıl etkileşime girdiğini görelim. Görsel bir anlayış için, iletişim işlemini bir metin sohbeti biçiminde hayal etmeye ve görselleştirmeye çalıştım. Sunucunun ve tarayıcının birbirleriyle yeniden yazdığı insanlar olduğunu birkaç dakika düşünün :)

Önbellek olmadan (önbellekleme http başlıklarının yokluğunda)

Gördüğümüz gibi, Cat.png tarayıcısını tekrar sunucudan tekrar yükleyeceğinizde. Yavaş ve etkisiz olduğunu açıklamak gerekli olmadığını düşünüyorum.

Son değiştirilmiş yanıt başlığı ve eğer değiştirilmiş-

Fikri, sunucunun son modifiye başlığını, tarayıcıyı veren dosyaya (cevabı) eklemesidir.

Artık tarayıcı, dosyanın 1 Aralık 2014'ü oluşturduğunu (veya değiştirildiğini) biliyor. Tarayıcının bir dahaki sefere aynı dosyaya ihtiyacı var, IF-Modifiye -'den beri başlık ile bir istek gönderir.

Dosya değişmediyse, sunucu 304 durumlu (değiştirilmemiş) boş bir çoğaltma tarayıcısı gönderir. Bu durumda, tarayıcı dosyanın güncellenmediğini ve en son sakladığı bir kopyayı görüntüleyebileceğini biliyor.

Böylece, son değiştirilmiş, sunucudan boş bir hızlı tepki ile gelen büyük bir dosyanın yüklenmesini kaydederiz.

ETAG Yanıt Başlığı ve IF-Hatalı Eşleştirme İstek Başlığı.

Operasyon ilkesi ETAG, son modifiye edilmiş, ancak, aksine, zamana bağlı değildir. Zaman göreceli bir şeydir.

Fikri, oluştururken ve her değişiklik yapılırken, sunucu, ETAG adlı belirli bir etiketi işaretler ve ayrıca tarayıcıya verdiği dosyaya (cevap) bir başlık ekler:

ETAG: "686897696A7C876B7E"

Artık tarayıcı, gerçek sürümün "686897696A7C876B7E" e eşit bir ETAG olduğunu biliyor. Bir dahaki sefere, Brewer'ın aynı dosyaya ihtiyacı olduğunda, IF-Hatalı Eşleştirme başlığı ile ilgili bir istek gönderir: "686897696A7C876B7E".

İf-maçı: "686897696A7C876B7E"

Sunucu, etiketleri karşılaştırabilir ve dosyanın değişmemesi durumunda, tarayıcıya 304 durumuyla boş bir cevap gönderin (değiştirilmemiş). Son değiştirilmiş tarayıcı durumunda olduğu gibi, dosyanın güncellenmediğini ve önbellekten bir kopyayı görüntüleyebileceğini öğrenir.

Başlığın süresi doldu.

Bu başlığın çalışma prensibi, yukarıda açıklanan ETAG ve son değiştirilmişlerden farklıdır. Süresi dolmuş kullanım, "raf ömrü" belirlenir ("akuality") dosyası. Şunlar. Sunucuyu ilk indirdiğinizde, sürü olarak belirtilen tarihten önce dosyayı değiştirmeyi planlamadığını bilmek için tarayıcıyı verir.

Tarayıcı bir dahaki sefere, "Son kullanma tarihinin tarihinin" henüz gelmediğini bilerek, sunucuya bir istek yapmayı ve dosyayı önbellekten görüntülemeyi bile denemeyecektir.

Bu tür bir önbellek, özellikle makaleler, simgeler, favonkov, bazı CSS ve JS dosyaları ve TP resimler için de geçerlidir.

Max-Yaş Yönetmeliğine sahip önbellek kontrol başlığı.

Çalışma önbellek kontrolü ilkesi: Max-Yaş sona erecek kadar benzer. Burada, dosyanın "raf ömrünü" de belirler, ancak saniyeler içinde ayarlanır ve çoğu durumda çok daha uygun olan belirli bir zamana bağlı değildir.

Referans için:

  • 1 gün \u003d 86400 saniye
  • 1 hafta \u003d 604800 saniye
  • 1 ay \u003d 2629000 saniye
  • 1 yıl \u003d 31536000 saniye

Örneğin:

Önbellek Kontrolü: Maks-Yaş \u003d 2629000;

Önbellek kontrol başlığı, maks-yaş hariç, başka direktifler de vardır. En popüler olanı kısaca göz önünde bulunduralım:

halka açık
Gerçek şu ki, önbellek taleplerinin yalnızca kullanıcının (tarayıcı) nihai istemcisi değil, aynı zamanda çeşitli ara proxy, CDN ağı ve TP'ye de sahip olamaz. Bu nedenle, kamu yönergesi kesinlikle herhangi bir proxy sunucusunun bir tarayıcıyla bir par üzerinde önbellekleme yapmasını sağlar.

Özel
Direktif, bu dosyanın (sunucu yanıtının) son kullanıcıya özgü olduğunu ve çeşitli ara vekillerle önbelleğe alınmaması gerektiğini söylüyor. Aynı zamanda, nihai müşteriye (kullanıcı tarayıcısı) önbelleğe alınmasını sağlar. Örneğin, kullanıcı profilinin iç sayfaları, oturumdaki istekleri vb. İçin ilgilidir.

Müşterinin her seferinde sunucuya bir istek yapması gerektiğini belirlemenizi sağlar. Bazen yukarıda açıklanan ETAG başlığı ile birlikte kullanılır.

mağaza yok.
İstemciyi herhangi bir koşulda veya sorgunun bir kopyasını veya bir bölümünün bir kopyasını kaydetmemesi gerektiğini belirtir. Bu, önbellekleri iptal eden en katı başlıktır. Özellikle gizli bilgilerle çalışmak için icat edildi.

gerilememek gerekir.
Bu yönerge, tarayıcıya yeniden doğrulama sunucusuna zorunlu bir istek yapmasını söyler (örneğin, ETAG kullanıyorsanız). Gerçek şu ki, belirli bir konfigürasyondaki HTTP'nin önbelleğin zaten eski olan içeriği tutmasını sağlar. DEĞERLENDİRME YAPMASI, Sunucuyu isteyerek içeriğin içeriğinin içeriğini kontrol etmek için herhangi bir koşulda bir tarayıcıyı zorunlu kılar.

proxy-revalidate.
Bu, gerektiği ile aynıdır, ancak yalnızca önbellekleme proxy sunucularını kaygılarlar.

s-Maxage.
Pratik olarak, bu direktifin yalnızca ikamet proxy'nin önbelleği tarafından dikkate alınması dışında, ancak kullanıcının tarayıcısının kendisiyle dikkate alınması dışında, pratik olarak farklı değildir. Mektup " s.- "Kelimeden geliyor" s.hared "(örneğin, CDN). Bu yönerge, özellikle CDN ve diğer aracı önbellekleri için tasarlanmıştır. Göstergesi, maksimum dönüm direktifinin değerlerini ve süresi dolmuş başlığın değerlerini iptal eder. Bununla birlikte, bir CDN ağı oluşturmazsanız, daha sonra S-Maxage, ihtiyacınız olmadığı ihtimaliniz.

Sitede hangi başlıkların kullanıldığı görülüyor?

HTTP sorgu başlıklarını (Talep Başlıkları) ve Cevapları (Yanıt Başlıkları) favori tarayıcınızın hata ayıklayıcısından izleyebilirsiniz. Örneğin, Chrome'da göründüğü gibi:

Aynısı, herhangi bir kendi kendine saygılı tarayıcıda veya http sniffer'de görülebilir.

Apache ve Nginx'te önbellekleme kurma

Popüler sunucuları yapılandırmak için belgeleri tekrar almayacağız. Onu her zaman izleyebilirsin. Aşağıda, yapılandırma dosyalarının nasıl göründüğünü göstermek için yaşamdan birkaç örnek veriyoruz.

Expiring Denetimi için Apache Configuration Örneği

Çeşitli dosya türleri için farklı bir "raf ömrü" oluşturun. Görüntüler için bir yıl, bir ay komut dosyaları, stiller, pdf ve simgeler için. Gerisi için - 2 gün.

ExpirSbyType Image / JPG "Erişim Artı 1 Yıl" ExpirseByType Image / JPEG "Erişim Plus 1 Yıl" ExpirseByType Image / GIF "Access Plus 1 Yıl" ExpirseByType Resmi / PNG "Access Plus 1 Yıl" ExpirseByType Metin / CSS "Access Plus 1 Ay "ExpirseByType Uygulaması / PDF" Erişim Artı 1 Ay "ExpirseByType Metin / X-JavaScript" Erişim Plus 1 Ay "ExpirseByType Resmi / X-icon" Access Plus 1 Yıl "ExpirseDefault" Access Plus 2 Gün "

Son kullanma tarihi için NGINX yapılandırma örneği

Çeşitli dosya türleri için farklı bir "raf ömrü" oluşturun. Bir hafta - görüntüler için bir gün - stiller ve komut dosyaları için.

Sunucu (# ... Konum ~ * \\. (GIF | ICO | JPE? G | PNG) (\\? +)? $ (1w;) Konum ~ * \\. (CSS | JS) $ (1D süresi doluyor;) # ...)

Önbellek Kontrolü için Apache Configuration Örneği (Max-Yaş ve Genel / Özel / Önbellek)

Başlık Ayarlandı Önbellek Kontrolü "Max-Yaş \u003d 2592000, Halka Açık" Başlık Ayarlandı Önbellek Kontrolü "Max-age \u003d 88000, Özel, Yasası-Revalidate" Başlık CACHE-CONTROL "Özel, Mağaza, Önbellek, Yasal Değerlendirme, NO-Dönüştürme, Max-Yaş \u003d 0" Başlık Ayarlandı Pragma "Önbellek"

Önbellek kontrolü statik dosyaları için örnek nginx yapılandırması

Sunucu (# ... Konum ~ * \\. (?: ICO | CSS | JS | GIF | JPE? G | PNG) $ (ADD_HEADER CACH-CONTROL "MAX-YAŞ \u003d 88000, KAMU";) # ...)

En sonunda

"Önbellek önbelleğe alınabilir" - Web geliştiricisi için iyi slogan. Bazen yapılandırmada sadece birkaç saat harcayabilir ve aynı zamanda sitenizin kullanıcının algısını önemli ölçüde iyileştirebilir, sunucunun üzerindeki yükü önemli ölçüde azaltır ve trafikten tasarruf edin. Asıl şey, abartmak ve kaynağınızın özelliklerini dikkate alarak her şeyi doğru şekilde yapılandırmamaktır.

Herhangi bir DOM elemanını hızlı bir şekilde çekmemiz gereken durumlar vardır (örneğin, QuerySelector'ı kullanarak). Ama ne yazık ki, bu yöntem oldukça faydalıdır ve bu nedenle performans düşüşü nedeniyle. Veya, örneğin, aynı oturumda sunucuya sık sık ağır talepler yapmanız gerekir. Uzun süre olarak kabul edilen işlevleri kullanın.

Neyse ki, JavaScript özelliklerini kullanabiliriz "A ve bir işlev yazabiliriz Önbellek.Diğer yöntemlerin sonuçlarını önbelleğe sokmak, böylece ihtiyaç halinde, bu en fazla yöntemleri tekrarlamak için:

Fonksiyon önbelleği (eğer (TypeOf değeri \u003d\u003d "(! Lang: undefined") { return cache; } cache = value; } !}

Şimdi örneklerde, yukarıda yazılan önbellek işlevinin nasıl davranacağını düşünün.

Örnek 1. QuerySelector önbellekleme

// _IO_Q - QuerySelector altında sarmalayıcı, verileri _IO_Q \u003d fonksiyonuna (seçici) önbelleğine kaydetme (eğer (seçici, belge.queryselector (seçici));) Geri dönüş önbelleği (seçici);)

Şimdi iş hızına bakın _IO_Q ve QuerySelector:

Konsol.time ("Düzenli QuerySelector"); için (var i \u003d 0; ben< 1000000; i++) { document.querySelector("h1"); } console.timeEnd("regular querySelector"); // regular querySelector: 100.6123046875ms console.time("cached _io_q"); for (var i = 0; i < 1000000; i++) { _io_q("h1"); } console.timeEnd("cached _io_q"); // cached _io_q: 5.77392578125ms

Örnek 2. Sunucudan önbelleğe alma sorgu

Sunucuya çok zor bir istek gönderen bir özellik yazıyoruz:

Fonksiyon longrequesttoserver (params.endpoint + "_" + params.Value; eğer (! Önbellek (tuşu)) (VAR sol \u003d 0; için (var i \u003d 0; i< 999999999; i++) { result++; } cache(key, result); } return cache(key); }

İşlevin nasıl davranacağını görelim:

Konsol.time ("ilk koşu"); LongRequestToserver (Endpoint: "/ loadxample", değer: 10)); Konsol.timend ("ilk koşu"); // İlk Run: 1012.068115234375MS konsolu. Zaman ("İkinci Çalıştır"); LongRequestToserver (Endpoint: "/ loadxample", değer: 10)); Konsol.timend ("ikinci koşu"); // ikinci koşu: 1.31884765625MS konsolu.Time ("Diğer istek"); LongRequestToserver (Endpoint: "/ loadsomeotherdata", değer: 15)); Console.timeend ("Diğer istek"); // diğer istek: 1033.783203125ms

TL; Dr.

JavaScript yeteneklerini kullanarak "A etkin bir şekilde verileri önbelleğe alabilir, performans kazanır. Ancak dikkatli olun, çünkü kazanan üretkenlik kaynaklarda ve hafıza sızıntısı elde etmek için ihmal yoluyla kaybolabilir.

HTML5, İnternet'e bağlanmadan bile çalışacak Web uygulamaları oluşturmak mümkün hale geldi.

Sayfaların gelişmiş önbelleğe alma

Not: IE10 +, Chrome, Firefox, Opera ve Safari bu teknolojiye destek var.

HTML5 tarayıcı önbelleğe alma yeteneklerini uzatır. Artık Web sayfaları, İnternet'e bağlanmadan bile kullanıcılar tarafından tamamen erişilebilir olabilir.

HTML5 önbelleklemesinin kullanımı aşağıdaki avantajları verir:

  • İnternete bağlanmadan bile web sayfalarını kullanıcılar tarafından görüntüleme yeteneği.
  • Sayfaların indirme hızını artırmak - sayfalar, kullanıcının bilgisayarında yerel olarak depolanır ve bu nedenle çok daha hızlı yüklenecektir.
  • Sunucudaki yükün azaltılması - Sunucu, kullanıcı isteklerini yerine getirmek zorunda değildir.

HTML5 Önbellekleme Örneği

... Belgenin içeriği ...

HTML5 Beyannamesi Önbellekleme

Web sayfalarınızdaki önbellekleme mekanizmasını kullanmak için etikete ekleyin. Özellik Manifest ve değeri olarak, önbellekleme parametrelerinin bildirildiği özel bir dosyanın yolunu belirtin.

Bu özellik Web sayfasında belirtilmemişse ve önbellekleme dosyasında eksik olan bağlantıyı eksikse, sayfa önbelleğe alınmaz.

Önbellekleme dosyası herhangi bir uzantıya sahip olabilir (örneğin .appcache or.mf), ancak özel bir MIME türüne sahip olmalıdır: "Metin / Önbellek-Manifest".

Bazı durumlarda, Web sunucusu bu MIME türünü korumak için ek ayar gerektirebilir. Örneğin, Apache Web sunucusunu yapılandırmak için aşağıdaki kodu eklemelisiniz .Htaccess dosyası:

AddType Metin / Önbellek Manifest .Appcache

İçerik önbellekleme dosyası

Önbellekleme dosyası, tarayıcıyı dosyaların önbelleğe alınması gereken geleneksel bir metin dosyasıdır.

Dosya üç bölüm içerebilir:

  • Önbellek Manifest - Bu bölüm, önbelleğe alınması gereken dosyaların bağlantılarını gösterir. Tarayıcı, ilk indirmeden hemen sonra listelenen tüm dosyaları otomatik olarak önbelleğe alır.
  • Ağ - Bu bölüm, kalıcı bir internet bağlantısı gerektiren dosyaları belirtir. Tarayıcı bu bölümde listelenen dosyaları önbelleğe almaz.
  • Geri dönüş - Bu bölümde belirtilen dosyalar herhangi bir nedenle, kullanıcılar otomatik olarak belirtilen başka bir dosyaya yönlendirilir.

Önbellek Manifatı bölümü tüm önbellekleme dosyalarında bulunmalıdır. Ağ ve geri dönüş bölümleri yok olabilir.

Örnek önbellekleme dosyası:

Önbellek Manifest # Bu bölümde, önbelleğe alınacak dosyaları listeler.html flower.png ağı # İşte internet bağlantısı olan dosyalar listelenen dosyalar Login-page.php Fallback # Eğer Mob.HTML mevcut değilse, kullanıcı çevrimdışı olarak yönlendirilir .html / mob .html /offline.html # HTML dosyalarından herhangi biri kullanılamıyorsa, kullanıcı offline.html * .html /offline.html'ye yönlendirilecektir.

Not: Önbellekleme dosyasını belirten web sayfası otomatik olarak işlenecektir, bu nedenle önbellekleme dosyasına dahil etmek gerekli değildir, ancak yine de önerilir.

Not: Bazı tarayıcılar, bir sitedeki önbelleğe alınmış içeriğin boyutunda bir sınırı olabilir.

Önbelleğe alınmış dosyaları güncelleme

Dosyalar önbelleğe alındıktan sonra tarayıcı, bu dosyaların içeriğini sunucudaki içeriğini değiştirseniz bile önbelleğe alınmış sürümlerini tekrar göstermeye devam edecektir.

Önbelleğe alınmış içeriği güncellemek için aşağıdakilerden birini yapmanız gerekir:

  • Kullanıcı tarayıcısında önbelleği temizleyin
  • Önbellekleme dosyasının içeriğini güncelleyin
  • Tarayıcı önbelleğini programlı olarak yenile (JavaScript kullanarak)

Dosyanın içeriğini güncellemek için, aşağıdaki hileti kullanabilirsiniz: doğrudan dosyanın içeriğini güncellemek yerine, değişim ve / veya dosya sürümü ve gelecekte için bir yorum ekleyebilirsiniz. Önbelleğe alınmış içeriği güncellemek istediğinizde yalnızca bu yorumun içeriğini değiştirin.