HTML5 ile gelen Application Cache özelliği ile, bir web sayfasını belirli kurallar dahilinden Cache altına almak ve offline olarak da izlenebilmesini sağlamak mümkündür.
manifest uzantılı dosyalar ile tanımlanabilen bu Application Cache özelliği sayesinde 3 avantajınız olur.
- Kullanıcıların uygulamanızı (ya da web sitenizi) offline olarak kullanabilmesi mümkün olur,
- Sayfa yüklenmeleri hızlandırılmış olur,
- Server tarafındaki iş gücü hafiflemiş olur.
HTML manifest dosyaları <html manifest> etiketine aşağıdaki şekilde parametre olarak verilir.
Tavsiye edilen dosya uzantısı appcache veya manifest şeklindedir.
Genel tavsiye appcache olmasına karşın, eski iOS versiyonlarının illa ki manifest uzantılı bir dosya istediğini unutmayın.
Ayrıca manifest dosyası olarak PHP, ASP gibi bir dosya da kullanabilir ve manifest dosyasına yazılacak kuralların otomatik belirlenmesini sağlayabilirsiniz.
<!DOCTYPE HTML> <html manifest=”deneme.appcache”>
MANIFEST DOSYASININ YAPISI NASILDIR ?
CACHE MANIFEST # 2012-02-21 v1.0.0 CACHE: /theme.css /logo.gif /main.js NETWORK: login.asp FALLBACK: /html/ /offline.html
Yukarıda görüldüğü üzere manifest dosyasında 3 tane kural var.
CACHE , NETWORK ve FALLBACK.
CACHE bölümüne hangi dosyaların cache’lenmesi gerektiği yazılır.
NETWORK bölümüne daima online olarak alınacak dosyalar yazılır.
FALLBACK bölümüne, online alınması gerektiği halde online alınamayan dosyaların yerine hangi dosyaların gösterileceği yazılır.
Normal şartlarda # 2012-02-21 v1.0.0 satırı bir comment (yorum) satırı olarak işlem görürken, Manifest dosyasında bunun bir görevi daha vardır.
Eğer daha önce CACHE MANIFEST bölümüne yazdığınız bir dosyanın yenilenmesi ve yeniden internetten alınması gerekiyorsa ne yapacaksınız ?
İşte HTML5, bu durumda sizin # satırı ile yazdığınız tarihe ve versiyona bakar.
Eğer değişiklik varsa, Manifest dosyası yeniden okunur ve gereken işlemler yapılır.
NOTLAR :
Cache’lenmesini istediğiniz her sayfanın başına <html manifest=”deneme.appcache”> şeklinde bildirim eklemelisiniz.
Manifest dosyasında wildcard kullanamazsınız, yani *.html gibi bir tanım yapmazsAnız, her dosyayı tek tek manifest dosyasına yazmalı ya da yazdırmalısınız.
Başka bir domain üzerindeki dosyaları da manifest dosyasına ekleyebilirsiniz, sakıncası yok.
Bazı browser’lar cache’lenecek dosyaların toplam boyutuna bir sınır koyar. Genellikle 5 MB civarındadır.
Eğer belirtilen manifest dosyası için browser tarafından 404 hatası dönerse, cache sıfırlanır, bilgiler online alınır.
Daha önce CACHE bölümüne bir resim yazdıysanız ve bunun güncellenmesini istiyorsanız, o halde # ila başlayan bölümdeki versiyonu değiştirmelisiniz.
Yapacağınız denemelerde, Chrome tarayıcısını kullanabilir ve cache işlemlerinin doğru çaışıp çalışmadığını test edebilirsiniz. Bunun için chrome adres çubuğuna chrome://appcache-internals/ yazabilir ve cache’lenmiş sitelerin durumunu görüntüleyebilirsiniz.