2012-09-27 8 views

Odpowiedz

1

Zwykle nie trzeba nic robić - większość "normalnych" serwerów internetowych będzie obsługiwała statyczną zawartość z odpowiednimi nagłówkami statycznych pamięci podręcznych. Jeśli jednak podajesz własne lub z jakiegoś powodu twój serwer wysyła nagłówki powodujące, że statyczna zawartość nie będzie buforowana, będziesz chciał zastąpić lub usunąć nagłówek, który uniemożliwia buforowanie zawartości.

Użyj programu, który wyświetla nagłówki Twoich treści (zakładka "Sieć" Firebug w przeglądarce Firefox, strona internetowa http://web-sniffer.net/ lub podobna), aby sprawdzić, jakie nagłówki ma aktualnie Twoja treść. Sprawdź, np. "Cache-Control" i "Expires". Jeśli zawartość ma nagłówek kontroli pamięci podręcznej, która zapobiega buforowaniu lub już wygasła, prawdopodobnie uniemożliwi to buforowanie Cloudflare (i każdej innej pamięci podręcznej), a będziesz musiał je usunąć lub zmienić.

Zgodnie z ogólną zasadą, aby coś zostało zbuforowane, należy określić czas wygasania czegoś w przyszłości oraz opcję Kontrola pamięci podręcznej dla użytkowników publicznych z maks. Wiekiem = pewien czas w przyszłości, jednak nagłówki wysyłanie zależy od tego, co podajesz, jakiego serwera używasz, kim jest klient itp.

Najprostszym sposobem bez uczenia się i zrozumienia różnych nagłówków pamięci podręcznej jest prawdopodobnie użycie czegoś takiego jak http://web-sniffer.net/, aby spojrzeć na niektóre inne treści, które są buforowane i skopiuj ich nagłówki. Na przykład: http://web-sniffer.net/?url=ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js

Należy pamiętać, że funkcja Always Online zwykle nie działa zgodnie z moim doświadczeniem.

// 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'); 

Aby uzyskać krótkie wyjaśnienie, zobacz stronę http://hardanswers.net/dynamic-webpage-caching.

1

Używanie "public" jako Cache-Control było dla mnie problemem, ponieważ większość moich stron jest bardzo dynamiczna (sklep internetowy). Właśnie dlatego powiedziałem tylko CloudFlare do przechowywania w pamięci podręcznej.

Cloudflare używa Mozilla/5.0 (compatible; CloudFlare-AlwaysOnline/1.0; +http://www.cloudflare.com/always-online) jako klienta użytkownika. Możesz powiedzieć CloudFlare, aby buforował twoje strony za pomocą PHP lub .htaccess (patrz rozwiązanie Neda Martina), ale powiedz innym odwiedzającym, aby nie buforowali twoich stron.

3

Zdecydowanie nie chcesz mieć bez pamięci podręcznej i prywatnych nagłówków, jeśli chcesz, aby usługa Always Online (i wiele z naszych pamięci podręcznych) działały poprawnie.

"Twoje obrazy są zapisywane w pamięci podręcznej przez ich CDN?" Automatycznie buforujemy zasoby na miejscu przez rozszerzenie pliku (oczywiście nie buforowalibyśmy zasobów poza siedzibą, takich jak Flickr lub Facebook).

Uwaga: Zawsze online ma pewne ograniczenia & wszystkie te ograniczenia są opisane w naszej dokumentacji (kody odpowiedzi serwera itp.). Jeśli niedawno dodałeś tę stronę do CloudFlare, to nic nie będzie w pamięci podręcznej do wyświetlenia (robot indeksujący zawsze wychodzi w określonym czasie).

Przyszła iteracja Always Online pozwoli użytkownikom "przypiąć" określone strony, co (mam nadzieję) pozwoli nam uzyskać kilka ograniczeń, które mamy teraz poza obrazem.

+0

Czy nagłówek "Set-Cookie' uniemożliwi buforowanie strony" Always Online "?Próbowałem dodać różne nagłówki pamięci podręcznej do mojej witryny hostowanej w IIS przy użyciu funkcji URL Rewrite, ale nic nie pomaga. URL Rewrite nie może usunąć nagłówka, może tylko uczynić go pustym łańcuchem, więc nie jestem pewien, czy pusty 'Set-Cookie' jest problemem czy czymś innym. – jwalker

Powiązane problemy