Application Cache HTML5
- หน้าก่อน เก็บข้อมูล Web HTML5
- หน้าต่อไป HTML5 Web Workers
ด้วยการใช้แคชแอปพลิเคชัน จากการสร้างไฟล์ manifest cache สามารถสร้างสมรรถนะแคชแอปพลิเคชัน web ออฟไลน์ง่ายๆ
อะไรคือแคชแอปพลิเคชัน?
HTML5 ได้นำเสนอความช่วยเหลือแคชแอปพลิเคชัน (Application Cache) ซึ่งหมายความว่าสามารถคลังเก็บ web แอปพลิเคชัน และสามารถเข้าถึงได้โดยไม่มีการเชื่อมต่ออินเตอร์เน็ต
ความสามารถสามของความช่วยเหลือแคชของแอปพลิเคชันคือ:
- การเข้าถึงออฟไลน์ - ผู้ใช้สามารถใช้งานได้เมื่อแอปพลิเคชันอยู่ในสถานะออฟไลน์
- ความเร็ว - ทรัพยากรที่ถูกคลังเก็บจะโหลดเร็วขึ้น
- ลดปริมาณเราะงานของเซิร์ฟเวอร์ - บราวเซอร์จะดาวน์โหลดทรัพยากรที่ถูกปรับปรุงหรือเปลี่ยนแปลง
การสนับสนุนโดยบราวเซอร์
ตัวเลขในตารางชี้ถึงสัปดาห์เวอร์ชั่นของบราวเซอร์ที่สนับสนุน Application Cache อย่างเต็มที่:
API | |||||
Application Cache | 4.0 | 10.0 | 3.5 | 4.0 | 11.5 |
ตัวอย่าง HTML Cache Manifest
ตัวอย่างด้านล่างแสดงเอกสาร HTML ที่มี cache manifest (สำหรับการเข้าถึงออฟไลน์):
ตัวอย่าง
!DOCTYPE HTML <html manifest="demo.appcache"> <body> เนื้อหาเอกสาร ...... </body> </html>
Cache Manifest ฐาน
เพื่อใช้งานแอปพลิเคชันคาช์ โปรดรวม manifest attribute ในแท็ก <html>:
!DOCTYPE HTML <html manifest="demo.appcache"> ... </html>
หน้าที่มี manifest จะถูกคั่นค้างเมื่อผู้ใช้เข้าถึงหน้านั้น ถ้าไม่มีการระบุ manifest attribute หน้านั้นจะไม่ถูกคั่นค้าง (เว้นแต่หน้านั้นถูกระบุในไฟล์ manifest):
ไฟล์ขนาดแนะนำของไฟล์ manifest คือ: ".appcache":
注意:ไฟล์ manifest จะต้องการการตั้งค่า MIME-type ที่ถูกต้อง คือ "text/cache-manifest" จะต้องทำการตั้งค่าในเซิร์ฟเวอร์เว็บ:
Manifest ไฟล์
ไฟล์ manifest คือไฟล์ข้อความที่เรียบร้อย มันบอกเล่าแก่บราวเซอร์ว่าสิ่งที่จะถูกคั่นค้าง (และสิ่งที่จะไม่ถูกคั่นค้าง):
ไฟล์ manifest มีสามส่วน:
- CACHE MANIFEST - ไฟล์ที่ระบุในหัวข้อนี้จะถูกคั่นค้างหลังจากการดาวน์โหลดครั้งแรก:
- NETWORK - ไฟล์ที่ระบุในหัวข้อนี้จะต้องมีการเชื่อมต่อกับเซิร์ฟเวอร์ และจะไม่ถูกคั่นค้าง:
- FALLBACK - ไฟล์ที่ระบุในหัวข้อนี้จะเป็นหน้าที่กลับมาใช้เมื่อหน้าเว็บไม่สามารถเข้าถึง (เช่น หน้า 404):
CACHE MANIFEST
บรรทัดแรก CACHE MANIFEST คือสิ่งที่จำเป็น:
CACHE MANIFEST /theme.css /logo.gif /main.js
ไฟล์ manifest ด้านบนระบุสามทรัพยากร: ไฟล์ CSS หนึ่ง, ภาพ GIF หนึ่ง และไฟล์ JavaScript หนึ่ง ตอนที่ไฟล์ manifest ถูกโหลด บราวเซอร์จะดาวน์โหลดสามไฟล์ดังกล่าวจากไดเรกทอรีเซิร์ฟเวอร์ของเว็บไซต์ หลังจากนั้น ทรัพยากรนี้ยังคงสามารถใช้งานได้ถึงแม้ว่าผู้ใช้จะตัดการเชื่อมต่อกับอินเตอร์เน็ตเรียบร้อย:
NETWORK
ความหมายของNETWORKส่วนนี้กำหนดไฟล์ "login.php" จะไม่ถูกคั่นค้างและไม่สามารถใช้งานเมื่อออฟไลน์:
NETWORK: login.asp
สามารถใช้สัญลักษณ์ '*' ในบรรทัดนี้เพื่อบอกว่าทุกทรัพยากร/ไฟล์อื่นที่เหลือต้องมีการเชื่อมต่ออินเทอร์เน็ตด้วย
NETWORK: * FALLBACK
ส่วน FALLBACK ด้านล่างนี้กำหนดว่าถ้าไม่สามารถติดต่อเครือข่ายอินเทอร์เน็ต ให้ใช้ 'offline.html' แทนที่ทุกไฟล์ในไดเรกทอรี /html/ ดังนี้:
FALLBACK: /html/ /offline.html
หมายเหตุ:URI หนึ่งเป็นทรัพยากร และอีกอันเป็นแทนที่
ปรับปรุงความเก็บเคลือบ
เมื่อโปรแกรมถูกเก็บเคลือบ มันจะคงอยู่ในความเก็บเคลือบจนกระทั่งเกิดสถานการณ์ดังนี้:
- การล้างความเก็บเคลือบของผู้ใช้
- manifest ไฟล์ถูกปรับปรุง (ดูคำแนะนำด้านล่าง)
- ปรับปรุงความเก็บเคลือบโดยโปรแกรม
ตัวอย่าง - ไฟล์ Cache Manifest ที่เต็มทั้งหมด
CACHE MANIFEST # 2012-02-21 v1.0.0 /theme.css /logo.gif /main.js NETWORK: login.asp FALLBACK: /html/ /offline.html
คำแนะนำ:บรรทัดที่เริ่มด้วย '#' คือบรรทัดหมายเหตุ แต่ยังสามารถใช้สำหรับวัตถุประสงค์อื่น ๆ ความเก็บเคลือบของโปรแกรมจะถูกปรับปรุงเมื่อmanifest ไฟล์เปลี่ยนแปลง หากคุณแก้ไขภาพหรือปรับปรุงฟังก์ชัน JavaScript การเปลี่ยนแปลงเหล่านั้นจะไม่ถูกเก็บเคลือบอีกครั้ง การปรับปรุงวันที่และเลขสรุปในบรรทัดหมายเหตุเป็นวิธีหนึ่งที่ให้บราวเซอร์เก็บเคลือบไฟล์อีกครั้ง
ความเกี่ยวข้องที่เกี่ยวกับความรับรู้เกี่ยวกับแบบการเก็บเคลือบของโปรแกรม
โปรดระมัดระวังเนื้อหาที่ควบคุมโดยแบบการเก็บเคลือบ
เมื่อไฟล์ถูกควบคุมโดยแบบการเก็บเคลือบ บราวเซอร์จะยังแสดงแบบที่ถูกเก็บเคลือบไว้ แม้ว่าคุณจะเปลี่ยนไฟล์บนเซิร์ฟเวอร์เพิ่มเติม มีทางเลือกที่จะปรับปรุง manifest ไฟล์เพื่อที่จะให้บราวเซอร์ปรับปรุงความเก็บเคลือบ
หมายเหตุ:ความจำของแบบการนำทางบริการความรวบรวมของเว็บบราวเซอร์อาจแตกต่างกัน (บางเว็บบราวเซอร์มีการจำกัดเป็นแบบ 5MB ต่อเว็บไซต์)
- หน้าก่อน เก็บข้อมูล Web HTML5
- หน้าต่อไป HTML5 Web Workers