Cache Aplikasi HTML5
Apakah ituCache AplikasiCache Aplikasi
HTML5 memperkenalkan teknologi caching aplikasi, yang bermaksud aplikasi web Ia boleh dicache dan digunakan tanpa rangkaian Dengan mencipta fail manifes cache, anda boleh membuat aplikasi luar talian dengan mudah.
Tiga kelebihan yang dibawa oleh Cache Aplikasi ialah:
① Penyemakan imbas luar talian
② Tingkatkan kelajuan pemuatan halaman
③ Kurangkan tekanan pelayan
Dan semua penyemak imbas utama menyokong Cache Aplikasi, walaupun ia tidak menyokongnya, ia tidak akan memberi kesan pada program
Teknologi storan luar talian
HTML5 mencadangkan dua teknologi storan luar talian utama: localstorage dan Cache Aplikasi, kedua-duanya mempunyai senario aplikasi mereka sendiri; teknologi storan luar talian tradisional ialah Cookie.
Selepas latihan, kami percaya bahawa localstorage harus menyimpan beberapa data ajax yang tidak kritikal, iaitu aising pada kek
Cache Aplikasi digunakan untuk menyimpan sumber statik, yang masih menjadi aising; pada kek;
Dan kuki hanya boleh menyimpan sekeping kecil teks (4096 bait); , pelayan perlu membezakan sama ada permintaan itu berasal dari pelayan yang sama Pelayan memerlukan rentetan pengenalan, dan tugas ini diselesaikan oleh kuki ini akan dihantar antara pelayan dan penyemak imbas setiap kali untuk mengesahkan kebenaran pengguna.
Jadi senario aplikasi Cache Aplikasi adalah berbeza, jadi penggunaannya tidak konsisten.
Pengenalan kepada Cache Aplikasi
Penggunaan Cache Aplikasi memerlukan dua aspek kerja:
① Pelayan perlu mengekalkan senarai manifes
② pada penyemak imbas Apa yang diperlukan ialah tetapan mudah
<html manifest="demo.appcache">
Ilustrasi dengan contoh:
CACHE MANIFEST CACHE: # 需要缓存的列表 style1.css 1.jpg 01.js http://localhost/applicationcache/02.js http://localhost/applicationcache/zepto.js NETWORK: # 不需要缓存的 4.jpg FALLBACK: # 访问缓存失败后,备用访问的资源,第一个是访问源,第二个是替换文件*.html /offline.html 2.jpg/3.jpg
Pertama semua, di sini Ralat telah dilaporkan:
Acara Ralat Cache Aplikasi: Pengambilan manifes gagal (404)
Sebab ralat ini ialah: fail manifes perlu dikonfigurasikan dengan jenis MIME yang betul, iaitu, "teks /cache-manifest". Ia mesti dikonfigurasikan pada pelayan web, pelayan yang berbeza adalah berbeza
\APPLICATIONCACHE 01.js 02.js 1.jpg 2.jpg 3.jpg 4.jpg demo.appcache index.html style1.css style2.css web.config zepto.js
Dengan cara ini, ia boleh digunakan di luar talian Walaupun rangkaian diputuskan pada masa ini, fail tersebut masih boleh diakses
Berikut adalah satu perkara Perlu diingat bahawa jika /index.html tidak disertakan di sini, ia akan cache "applicationcache/". Sebenarnya, ini ialah index.html
Fail manifes boleh dibahagikan kepada tiga bahagian:
MANIFEST CACHE - fail yang disenaraikan di bawah tajuk ini akan dicache selepas muat turun pertama
RANGKAIAN - fail yang disenaraikan di bawah tajuk ini memerlukan sambungan ke pelayan, dan tidak akan dicache
FALLBACK - Fail yang disenaraikan di bawah tajuk ini menentukan halaman sandaran apabila halaman itu tidak boleh diakses (seperti halaman 404)
Asas Manifes Cache
Untuk mendayakan cache aplikasi, masukkan atribut manifes dalam teg <html> dokumen:
<!DOCTYPE HTML> <html manifest="demo.appcache"> ... </html>
Setiap halaman yang menentukan manifes akan dipaparkan pada halaman pengguna Ia akan menjadi dicache apabila diakses. Jika atribut manifes tidak ditentukan, halaman itu tidak akan dicache (melainkan ia dinyatakan secara langsung dalam fail manifes).
Sambungan fail yang disyorkan untuk fail manifes ialah: ".appcache".
Sila ambil perhatian bahawa fail manifes perlu dikonfigurasikan dengan jenis MIME yang betul, iaitu "teks/manifes cache". Mesti dikonfigurasikan pada pelayan web.
Fail Manifes
Fail Manifes ialah fail teks ringkas yang memberitahu penyemak imbas perkara yang dicache (dan perkara yang tidak dicache).
Fail manifes boleh dibahagikan kepada tiga bahagian:
MANIFEST CACHE - fail yang disenaraikan di bawah tajuk ini akan dicache selepas muat turun pertama
RANGKAIAN - di bawah tajuk ini Fail keluar memerlukan sambungan ke pelayan dan tidak akan dicache
FALLBACK - Fail yang disenaraikan di bawah tajuk ini menentukan halaman sandaran apabila halaman itu tidak boleh diakses (seperti halaman 404)
MANIFEST CACHE
Barisan pertama, CACHE MANIFEST, diperlukan:
CACHE MANIFEST
/theme.css
/logo.gif
/main.js
The fail manifes di atas menyenaraikan tiga sumber: fail CSS, imej GIF dan fail JavaScript. Apabila fail manifes dimuatkan, penyemak imbas memuat turun ketiga-tiga fail ini daripada direktori akar tapak web. Kemudian, apabila pengguna memutuskan sambungan daripada Internet, sumber ini masih tersedia.
RANGKAIAN
Bahagian RANGKAIAN berikut menentukan bahawa fail "login.php" tidak akan dicache dan tidak tersedia di luar talian:
RANGKAIAN:
log masuk .php
Asterisk boleh digunakan untuk menunjukkan bahawa semua sumber/fail lain memerlukan sambungan Internet:
RANGKAIAN:
*
FALLBACK
The bahagian FALLBACK berikut menentukan bahawa jika sambungan Internet tidak dapat diwujudkan, semua fail dalam direktori /html5/ digantikan dengan "offline.html":
FALLBACK:
/html/ /offline.html
Nota: URI pertama ialah sumber, yang kedua ialah pengganti.
Kemas kini cache
Setelah apl dicache, ia kekal dicache sehingga perkara berikut berlaku:
Pengguna mengosongkan cache penyemak imbas
Fail manifes diubah suai (Lihat petua di bawah)
Kemas kini cache apl secara pengaturcaraan
Contoh - Fail Manifes Lengkap
MANIFEST CACHE
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
RANGKAIAN:
log masuk.php
FALLBACK:
/html/ /offline.html
Petua: Baris yang bermula dengan "#" adalah ulasan juga boleh digunakan untuk tujuan lain. Cache aplikasi dikemas kini apabila fail manifesnya berubah. Jika anda mengedit imej, atau mengubah suai fungsi JavaScript, perubahan ini tidak akan dicache semula. Mengemas kini tarikh dan nombor versi dalam baris ulasan ialah satu cara untuk menyebabkan penyemak imbas meng-cache semula fail.
Nota tentang caching aplikasi
Sila beri perhatian kepada kandungan cache.
Setelah fail dicache, penyemak imbas akan terus memaparkan versi cache, walaupun anda mengubah suai fail pada pelayan. Untuk memastikan penyemak imbas mengemas kini cachenya, anda perlu mengemas kini fail manifes anda.
Nota: Penyemak imbas mungkin mempunyai had kapasiti yang berbeza untuk data cache (sesetengah penyemak imbas menetapkan had 5MB setiap tapak).