Trong ứng dụng Web Progressive của tôi, tôi có nên sử dụng API Cache trong một nhân viên dịch vụ cho các tài sản tĩnh của tôi hay tôi chỉ dựa vào kiểm soát bộ nhớ cache của trình duyệt cho các tài nguyên này? Có gì khác biệt?Sự khác nhau giữa việc sử dụng API bộ nhớ cache của công nhân dịch vụ và bộ nhớ cache của trình duyệt thông thường là gì?
Trả lời
Ưu điểm chính của API bộ nhớ cache của nhân viên dịch vụ là nó mang lại cho bạn quyền kiểm soát chi tiết hơn bộ nhớ cache của trình duyệt tích hợp. Ví dụ: nhân viên dịch vụ của bạn có thể lưu trữ nhiều yêu cầu khi người dùng chạy ứng dụng web của bạn lần đầu tiên, bao gồm cả nội dung mà họ chưa truy cập. Điều này sẽ tăng tốc các yêu cầu tiếp theo. Bạn cũng có thể thực hiện logic kiểm soát bộ nhớ cache của riêng mình, đảm bảo rằng nội dung được coi là quan trọng được lưu trong bộ nhớ cache trong khi xóa dữ liệu ít được sử dụng hơn.
Sự khác biệt chính là kiểm soát. Bộ nhớ cache của trình duyệt được tắt khỏi tiêu đề Bộ nhớ cache-Kiểm soát, điều này tốt cho đến khi không được. Có tất cả các loại chiến lược để quản lý cách các tài nguyên địa chỉ mạng được lưu trữ; công nhân; thời gian để sống, v.v.
Với bộ nhớ đệm của nhân viên dịch vụ, bạn có thể kiểm soát theo cách lập trình cách những nội dung đó được duy trì. Nhưng điều đó có nghĩa là gánh nặng là do bạn.
Bộ nhớ cache của trình duyệt là những gì tôi cho là không đáng tin cậy. Trình duyệt sẽ tự động xóa nội dung dựa trên tính khả dụng của bộ nhớ thiết bị. Ví dụ, iPhone sử dụng để bỏ qua bộ nhớ đệm cho bất kỳ tài nguyên nào trên 25kb. Hôm nay tôi nghĩ chúng rất hung dữ.
Tôi biết nhóm Facebook đã nghiên cứu một vài năm trước và chỉ tìm thấy 25% các tệp mà họ mong đợi trình duyệt lưu vào bộ đệm dựa trên tiêu đề được lưu vào bộ nhớ cache. Điều này có nghĩa là có thêm lưu lượng mạng và hoạt động của máy chủ.
Đây là lý do tại sao bộ nhớ đệm của nhân viên dịch vụ là lựa chọn tốt hơn. Đừng loại bỏ các tiêu đề bộ nhớ cache của bạn, chỉ cần không dựa vào chúng.
- 1. Sự khác nhau giữa HTML5 AppCache và bộ nhớ cache của trình duyệt thông thường là gì?
- 2. sự khác biệt giữa bộ nhớ cache l1 và bộ nhớ cache l2 là gì?
- 3. Sự khác nhau giữa bộ nhớ đệm và bộ nhớ cache trống là gì?
- 4. CakePHP 2.1: Bộ nhớ cache của trình duyệt vs Xem bộ nhớ cache
- 5. Sự khác biệt giữa không có bộ nhớ cache và không lưu trữ trong bộ nhớ Cache-control là gì?
- 6. Khuôn khổ bộ nhớ cache Django. Sự khác nhau giữa TIMEOUT và CACHE_MIDDLEWARE_SECONDS là gì?
- 7. ASP.NET - Vô hiệu hóa bộ nhớ cache của trình duyệt
- 8. Sự khác nhau giữa các thông số kiểm soát bộ nhớ cache khác biệt này là gì?
- 9. Làm cách nào để xóa bộ nhớ cache của Dịch vụ Công nhân trong Firefox?
- 10. Làm cách nào để xóa bộ nhớ cache của nhân viên dịch vụ?
- 11. Phát hiện bộ nhớ cache của trình duyệt theo jQuery
- 12. Xóa bộ nhớ cache của bưu cục
- 13. Bộ nhớ thường trú và bộ nhớ dơ bẩn của iOS là gì?
- 14. tạo bộ nhớ cache của mảng byte
- 15. Bộ nhớ cache trong bộ nhớ cache không lưu vào bộ nhớ cache
- 16. Quản lý bộ nhớ cache của MapView
- 17. Bộ nhớ cache khởi động là gì?
- 18. Tắt dịch bộ nhớ cache
- 19. Dịch vụ kênh bộ nhớ cache - Tridion 2011 SP1
- 20. Bộ nhớ cache, tắt bộ nhớ đệm
- 21. Cách xóa bộ nhớ cache của HttpWebRequest
- 22. Làm mới bộ nhớ cache của Akamai
- 23. ray giá bộ nhớ cache - cách xóa thủ công tất cả bộ nhớ cache
- 24. Các tệp thường được giữ trong bộ nhớ cache của trình duyệt
- 25. Bộ nhớ Cache trong web api
- 26. Bộ nhớ cache dịch vụ góc có giá trị
- 27. Chính sách bộ nhớ cache của NSURLRequest
- 28. Lần truy cập bộ nhớ cache và bộ nhớ cache bị thiếu là gì? Tại sao ngữ cảnh chuyển đổi sẽ gây ra bộ nhớ cache bỏ lỡ?
- 29. tắt bộ nhớ cache của trình duyệt bằng php hoặc sử dụng javascript
- 30. Cách xóa Bộ nhớ Cache của Smarty
Một nhận xét liên quan đến vấn đề này. Nếu sử dụng tiêu đề bộ nhớ cache để lưu vào bộ nhớ cache các yếu tố trên trang, người dùng kích hoạt làm mới sẽ làm cho trình duyệt bỏ qua bộ nhớ cache HTTP. Sự kiện tìm nạp SW sẽ luôn chặn một yêu cầu có nghĩa là bạn luôn có thể phục vụ từ bộ nhớ cache nếu muốn. –
@GauntFace Thật vậy, và nó không chỉ là một "làm mới" rõ ràng của một tab mở. "Làm mới" tiềm ẩn, như tải trang trong tab mới, sẽ không thành công nếu trang được lưu trong bộ nhớ cache có tiêu đề và thiết bị đang ngoại tuyến. –