Jak włączyć buforowanie przeglądarki dla mojej witryny? Czy po prostu umieszczam kontrolę pamięci podręcznej: public gdzieś w moim nagłówku w ten sposób?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
Cache-Control:public;
>
Korzystam z najnowszej wersji PHP rozwijającej się na najnowszej wersji XAMPP.
http
browser-cache
Andrzej
źródło
źródło
Odpowiedzi:
Aby użyć kontroli pamięci podręcznej w HTML, używasz metatagu , np
Wartość w polu zawartości jest zdefiniowana jako jedna z czterech poniższych wartości.
Niektóre informacje w
Cache-Control
nagłówku są następująceźródło
<meta>
zawsze był okropnym i niestabilnym sposobem określania buforowania.no-store
wartości (pomimo, że sam dokument odwołuje się do RFC 2068 ) -no-store
zapobiega przechowywaniu / buforowaniu dokumentu w dowolnym miejscu. Zważywszy, żeno-cache
zezwala on być przechowywany, ale musi sprawdzić się z serwerem za każdym razem. Przeglądarki zwykle przechowująno-cache
strony w celu włączenia funkcji przycisku Wstecz itp.Możesz ustawić nagłówki w PHP , używając:
Pamiętaj, że dokładne użyte nagłówki będą zależeć od twoich potrzeb (i jeśli potrzebujesz obsługi HTTP 1.0 i / lub HTTP 1.1 )
źródło
Pragma
iExpires
prawdopodobnie są zbędne dla większości przeglądarek. fastly.com/blog/headers-we-dont-wantJak napisałem, najlepiej użyć tego pliku
.htaccess
. Uważaj jednak na czas pozostawiania zawartości w pamięci podręcznej.Posługiwać się:
Gdzie: 604800 = 7 dni
PS: Można go użyć do zresetowania dowolnego nagłówka
źródło
Strona http://www.askapache.com/htaccess/apache-speed-cache-control.html sugeruje użycie czegoś takiego:
źródło
cache
ino-cache
).max-age
ipublic
nie sprzeczajcie się, więc porządek nie ma znaczenia.Header
dyrektywę, musisz ją włączyćmod_headers
.a2enmod
lub utworzyć dowiązanie symboliczne od/etc/apache2/mods-available/headers.load
do/etc/apache2/mods-enabled/headers.load
.Oto najlepsze
.htaccess
, jakie wykorzystałem na mojej stronie:źródło
<filesMatch "\.(x?html?|php)$">
aby uniknąć buforowania statycznych stron HTML. Reszta plików filmowych jest w porządku.<filesmatch "\.(eot|woff|otf|ttf|svg)$">
.css
ijs
do prywatnej, jeśli masz buforowanie proxy. W twoim linku nie mogłem znaleźć żadnych rekomendacji. Większość CDN zaleca buforowanie tych wartości.W przypadku serwera Apache należy sprawdzić mod_expires w celu ustawienia nagłówków Expires i Cache-Control.
Alternatywnie możesz użyć dyrektywy Header, aby samodzielnie dodać kontrolę pamięci podręcznej:
źródło
Znacznik kontrolny meta cache pozwala wydawcom internetowym określić, w jaki sposób strony powinny być obsługiwane przez bufory. Obejmują one dyrektywy określające, co powinno być buforowalne, co może być przechowywane w pamięci podręcznej, modyfikacje mechanizmu wygasania oraz kontrolę rewalidacji i przeładowania.
Dozwolone wartości to:
Publiczny - może być buforowany w publicznych udostępnianych pamięciach podręcznych
Prywatny - może być buforowany tylko w prywatnej pamięci podręcznej
bez pamięci podręcznej - może nie być buforowany
bez przechowywania - może być buforowany, ale nie archiwizowany
Uważaj na wielkość liter. Dodaj następujący metatag w źródle strony. Różnica w pisowni na końcu tagu polega na tym, że używasz „/> = xml lub”> = html.
Źródło- > MetaTagi
źródło
OWASP zaleca:
O ile to możliwe, upewnij się, że nagłówek HTTP sterujący pamięcią podręczną jest ustawiony na no-cache, no-store, must-revalidate, private; i że nagłówek HTTP pragma jest ustawiony bez pamięci podręcznej.
źródło