2012-09-27 20 views

Trả lời

1

Thông thường, bạn không cần phải làm gì cả - hầu hết các máy chủ web "bình thường" sẽ phân phối nội dung tĩnh với tiêu đề bộ nhớ cache tĩnh thích hợp. Tuy nhiên, nếu bạn đang chỉ định của riêng mình hoặc vì lý do nào đó, máy chủ của bạn đang gửi tiêu đề khiến nội dung tĩnh không được lưu vào bộ nhớ cache, bạn sẽ muốn ghi đè hoặc xóa bất kỳ tiêu đề nào đang ngăn nội dung được lưu vào bộ nhớ cache.

Sử dụng chương trình có thể xem tiêu đề nội dung của bạn (tab “Net” của Firebug trong Firefox, trang web http://web-sniffer.net/ hoặc tương tự) để xem tiêu đề nội dung của bạn hiện có. Kiểm tra những thứ như "Cache-Control" và "Expires". Nếu nội dung có tiêu đề kiểm soát bộ nhớ cache ngăn chặn bộ nhớ đệm hoặc đã hết hạn, điều này có thể sẽ ngăn Cloudflare (và bất kỳ bộ nhớ cache nào khác) lưu vào bộ nhớ đệm và bạn sẽ cần xóa hoặc thay đổi chúng.

Như một quy tắc chung, để cho phép lưu trữ nội dung nào đó, hãy chỉ định thời gian Hết hạn của một cái gì đó trong tương lai và Kiểm soát bộ nhớ cache công khai với độ tuổi tối đa = một thời gian trong tương lai, tuy nhiên các tiêu đề bạn gửi sẽ phụ thuộc vào những gì bạn đang phục vụ, máy chủ bạn đang sử dụng, những gì khách hàng đang sử dụng, v.v.

Cách dễ nhất mà không cần tìm hiểu và hiểu các tiêu đề bộ nhớ cache khác nhau có thể sử dụng một cái gì đó như http://web-sniffer.net/ để xem một số nội dung khác được lưu trong bộ nhớ cache và sao chép các tiêu đề của nó. Ví dụ: http://web-sniffer.net/?url=ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js

Lưu ý rằng Luôn trực tuyến thường không hoạt động, theo kinh nghiệm của tôi.

// set the most basic caching headers in PHP (cache for 1 month) 
header('Cache-Control: public'); 
header('Expires: '.gmdate('D, d M Y H:i:s', strtotime('+1 month')).' GMT'); 

Xem http://hardanswers.net/dynamic-webpage-caching để được giải thích ngắn gọn.

1

Sử dụng 'công khai' làm Kiểm soát bộ nhớ cache là một vấn đề đối với tôi, bởi vì hầu hết các trang của tôi đều rất năng động (một webshop). Đó là lý do tại sao tôi chỉ nói CloudFlare để cache.

Cloudflare sử dụng Mozilla/5.0 (compatible; CloudFlare-AlwaysOnline/1.0; +http://www.cloudflare.com/always-online) làm tác nhân người dùng. Bạn có thể yêu cầu CloudFlare lưu các trang của bạn bằng PHP hoặc .htaccess (xem giải pháp của Ned Martin), nhưng bảo các khách truy cập khác không lưu vào bộ nhớ cache các trang của bạn.

3

Bạn chắc chắn không muốn không có bộ nhớ cache và các tiêu đề riêng tư, nếu bạn muốn Luôn Trực tuyến (và rất nhiều bộ nhớ đệm của chúng tôi) hoạt động bình thường.

"hình ảnh của bạn được lưu trong CDN?" Chúng tôi tự động lưu trữ tài nguyên trên trang web bằng phần mở rộng tệp (chúng tôi sẽ không lưu trữ tài nguyên ngoài trang web, rõ ràng, chẳng hạn như tiện ích Flickr hoặc Facebook).

Lưu ý: Luôn trực tuyến không có một số giới hạn & tất cả các giới hạn đó được nêu trong tài liệu của chúng tôi (mã phản hồi của máy chủ, v.v.). Nếu gần đây bạn chỉ thêm trang web vào CloudFlare, thì sẽ không có gì thực sự trong bộ nhớ cache để hiển thị (trình thu thập thông tin luôn trực tuyến sẽ xuất hiện vào những thời điểm cụ thể).

Một lần lặp lại trong tương lai của Always Online sẽ cho phép người dùng "ghim" các trang cụ thể, mà (hy vọng) sẽ nhận được một số hạn chế mà chúng tôi có ngay bây giờ.

+0

Tiêu đề 'Đặt cookie 'có ngăn chặn Luôn trực tuyến từ bộ nhớ đệm một trang không?Tôi đã thử thêm tiêu đề bộ nhớ cache khác nhau vào trang web lưu trữ IIS của tôi bằng cách sử dụng URL Rewrite, nhưng không có gì có vẻ giúp đỡ. URL Rewrite không thể loại bỏ một tiêu đề, nó chỉ có thể làm cho nó một chuỗi rỗng, vì vậy tôi không chắc chắn nếu trống 'Set-Cookie' là vấn đề hay cái gì khác. – jwalker

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