Spowiedź : witryny, które utrzymuję, mają różne reguły Kontroli pamięci podręcznej, oparte głównie na domyślnej konfiguracji serwera, a następnie na zaleceniach wtyczek Firefox Speed Page i Y-Slow Firefox oraz widoku Zasoby sieciowe w Speed Tracer Google . Kontrola pamięci podręcznej jest ustawiona na prywatną / publiczną w zależności od tego, co mówią, nagłówki ETag / Last-Modified są majstrowane tylko wtedy, gdy Y-Slow sugeruje, że coś jest nie tak, a kodowanie Vary-Accept wydaje się konieczne przy ręcznym gzipowaniu plików dla Amazon CloudFront.
Podczas czytania materiału na temat różnych opcji i wykonywanych przez nich działań wydaje się, że istnieją sprzeczne informacje, zasady dotyczące zepsutych serwerów proxy i konfiguracji kultu ładunku . Żadna z oficjalnych informacji dostarczonych przez wspomniane powyżej narzędzia analityczne jest dość niedostępna, ponieważ dotyczy każdego tematu indywidualnie, a nie zunifikowanej strategii (więc nie ma odsyłaczy do technik).
Na przykład wydaje się, że nie ma sensu, aby narzędzia analizy prędkości oceniały witrynę z ETagiem tak samo jak witryna bez nich, jeśli mają one pomóc w buforowaniu.
Jakie są twarde i szybkie zasady agnostycznej strategii kontroli pamięci podręcznej dla platformy?
EDYTOWAĆ:
Link przez art Jeff Atwood za wyjaśnia buforowania w doskonałej głębi.
Dla przypomnienia, oto twarde i szybkie zasady:
Jeśli plik jest skompresowany przy użyciu GZIP itp. - użyj „cache-control: private”, ponieważ serwer proxy może zwrócić skompresowaną wersję klientowi, który go nie obsługuje (pamięć podręczna przeglądarki będzie jednak przechowywać pliki oznaczone w ten sposób). Pamiętaj także, aby dołączyć „Vary: Accept-Encoding”, aby powiedzieć, że jest on kompresowalny.
Używaj Last-Modified w połączeniu z ETag - użycie pasów i nawiasów zapewnia oba walidatory, podczas gdy ETag jest oparty na zawartości pliku zamiast samego czasu modyfikacji, przy użyciu obu obejmuje wszystkie bazy. UWAGA: Z jakiegoś powodu PageTest firmy AOL stosuje podejście blanszowania kart ETAG. Jeśli używasz Apache na więcej niż jednym serwerze do obsługi tej samej zawartości, usuń niejawnie zadeklarowany i-węzeł z ETagów, wykluczając go z dyrektywy FileETag (tj. „FileETag MTime Size”), chyba że naprawdę używasz tego samego systemu plików na żywo.
Używaj „kontroli pamięci podręcznej: publiczna”, gdziekolwiek możesz - oznacza to, że serwery proxy (i pamięć podręczna przeglądarki) zwrócą twoją zawartość, nawet jeśli reszta strony wymaga uwierzytelnienia HTTP itp.
źródło
Vary: Accept-Encoding
, patrz dół code.google.com/speed/page-speed/docs/caching.htmlexample.com/style_v2.css
Źródło:
https://varvy.com/pagespeed/leverage-browser-caching.html
źródło
ExpiresByType
dyrektyw, które widzę, zawiera typ MIMEtext/x-javascript
- czy Twój serwer naprawdę odpowiada na ten typ zawartości ?! (Przykład niewidocznego kopiowania / wklejania IMO.)