2012-10-09 34 views
12

Tôi không hiểu điểm của AppCache HTML5. Chúng tôi đã có bộ nhớ cache bình thường. Nếu bạn truy cập một trang web vào lần đầu tiên nó sẽ lưu trữ tất cả nội dung. AppCache cung cấp thêm giá trị gì? Có phải đó chỉ là danh sách các tệp để trình duyệt biết nội dung cần tải xuống hay không, ngay cả khi chúng không được tham chiếu bởi HTML ngay bây giờ? Trình duyệt có đảm bảo rằng bộ nhớ đệm là "tất cả hoặc không có gì", tức là nó đảm bảo rằng mọi thứ được tham chiếu bởi tệp kê khai được lưu vào bộ nhớ cache hoặc không có gì cả?Sự khác nhau giữa HTML5 AppCache và bộ nhớ cache của trình duyệt thông thường là gì?

Trả lời

7

Tôi nghĩ điểm bạn thiếu là AppCache được thiết kế đặc biệt để cho phép ứng dụng web (và trang web) khả dụng khi ngoại tuyến, mặc dù tốc độ tương tự mà bộ nhớ cache thông thường cung cấp, khi người dùng trực tuyến , cũng được cung cấp bởi AppCache.

Sự khác biệt chính với bộ nhớ cache của trình duyệt là bạn có thể chỉ định tất cả nội dung mà trình duyệt sẽ lưu trong tệp kê khai (có thể hiểu toàn bộ trang web của bạn) trong khi bộ nhớ cache của trình duyệt sẽ chỉ lưu trữ các trang (và nội dung liên quan) đã ghé thăm.

Tôi không có chuyên gia về số AppCache, nhưng tôi biết điều đó không phải là không có vấn đề của nó. Có một bài viết thực sự hay, here từ một chap người đã sử dụng AppCache để cho phép các phần của trang web trên thiết bị di động của mình khả dụng khi ngoại tuyến. Nó bao gồm một số lý do về quyết định của họ để sử dụng nó và một số gotchas họ gặp phải khi làm như vậy.

Điều này HTML5 Rocks article về chủ đề này cũng có một số thông tin tốt.

5

AppCache thực sự sử dụng bộ nhớ cache của trình duyệt để hỗ trợ hoạt động của nó. Trình duyệt tương đương với việc tải xuống một ứng dụng để chạy cục bộ.

Lần đầu tiên người dùng truy cập trang, tài nguyên của trang đó sẽ được tải từ máy chủ và được lưu trữ trong bộ nhớ cache thông thường. Nếu trang chỉ định tệp kê khai appcache, trình duyệt sẽ tải xuống tệp kê khai và tìm nạp tất cả các tài nguyên trong đó (ngay cả khi chúng không xuất hiện trên trang nhúng tệp kê khai). Sau đó, chúng được lưu trữ trong appcache.

Lần thứ hai người dùng truy cập trang, trình duyệt sẽ kiểm tra ứng dụng của nó. Nếu một mục nhập tồn tại cho URL đó, nó sẽ tải trang từ appcache thay vì từ máy chủ, dựa trên các quy tắc được chỉ định trong tệp kê khai (tệp kê khai có thể đánh dấu một số tài nguyên một cách rõ ràng là được tìm nạp từ mạng).

Sau khi trình duyệt tải trang từ appcache, trình duyệt sẽ liên hệ với máy chủ để xem có bản kê khai cập nhật hay không. Nếu tệp kê khai được cập nhật, tệp kê khai sẽ tìm nạp tài nguyên từ tệp kê khai. Những tìm nạp này được thực hiện bằng cách sử dụng các quy tắc bộ nhớ cache của trình duyệt thông thường, vì vậy một số tài nguyên này có thể thực sự được tải xuống từ bộ nhớ cache của trình duyệt thông thường thay vì từ máy chủ (điều này cho phép bạn cập nhật vi phân khi sử dụng appcache để phát triển ứng dụng ngoại tuyến). Phiên bản mới của appcache được giữ riêng biệt với phiên bản cũ. Sau khi phiên bản mới được tải xuống, người dùng tiếp tục tương tác với các tài nguyên từ phiên bản cũ cho đến khi họ làm mới trang chính, sau đó phiên bản mới được tải và phiên bản cũ bị hủy.

Một điểm quan trọng khác là appcache có các quy tắc khác nhau khi tài nguyên bị loại bỏ. Appcache về cơ bản không bao giờ loại bỏ bộ tài nguyên mới nhất và lưu trữ toàn bộ chúng. Để ngăn chặn sự lạm dụng, nó thực thi các giới hạn lưu trữ (đôi khi ít nhất là 5 MB) bộ nhớ cache của một trang lớn có thể là bao nhiêu. Ngược lại, bộ nhớ cache của trình duyệt không có giới hạn cho mỗi trang, nhưng sẽ loại bỏ các tài nguyên riêng lẻ khỏi một trang web nếu đạt đến giới hạn bộ nhớ cache toàn cục.

0

Tính năng quan trọng của bộ nhớ cache ứng dụng HTML 5 là nó cung cấp ứng dụng web ngoại tuyến. Không được bộ nhớ cache của trình duyệt bình thường đưa ra.

Ngoài bộ nhớ cache ứng dụng này sẽ cung cấp

Speed ​​ - kể từ khi toàn bộ nội dung của trang nào đó sẽ được lưu trữ để trình duyệt vì vậy nó sẽ cung cấp một tốc độ tốt hơn so với bộ nhớ cache của trình duyệt

Giảm Server Tải - Không cần đăng lại tất cả thời gian vì tất cả nội dung đều có trong bộ nhớ cache, cho đến khi có bất kỳ thay đổi nào trong tệp kê khai

Tệp kê khai bộ nhớ cache: - Tệp cache manifest là trung tâm của bộ nhớ cache ứng dụng HTML5. Chúng tôi có thể chỉ định các trang không cần lưu trong bộ nhớ cache là gì, và thậm chí chúng tôi có thể sử dụng lại trang này làm kỹ thuật xử lý lỗi , để chúng tôi có thể chỉ định trang lỗi tùy chỉnh trong phần FALLBACK người dùng yêu cầu nội dung yêu cầu kết nối mạng

Để có hiểu biết cơ bản về Bộ đệm ứng dụng, bạn có thể See this tutorial

Các vấn đề liên quan