Rozwijamy dużą witrynę internetową, a wszystkie nasze obrazy i zasoby znajdują się w usłudze Amazon S3. Używamy również Cloudfront do globalnej dystrybucji naszych Treści. Chcemy przekazać przeglądarce WWW klienta, aby zapisała w pamięci podręcznej nasze pliki, ponieważ po ich zmianie zmienimy również adres URL (Cloudfront nie odzwierciedla zmiany na 24 godziny w innym miejscu).Podczas korzystania z Cloudfront, w jaki sposób można ustawić nagłówek Expires w odniesieniu do bieżącej daty?
Obecnie korzystamy z aplikacji ETag, ale nie jest to optymalne, ponieważ Klient nadal musi wykonać żądanie, aby sprawdzić, czy zasób się zmienił.
Jednym z rozwiązań będzie nagłówek Expires, ale nie znaleźliśmy sposobu na ustawienie go w stosunku do bieżącej daty, jak to możliwe w konfiguracji Apache dla S3, i nie możemy aktualizować wszystkich treści regularnie, ponieważ to prawie wszystko. Tak więc potrzebowalibyśmy opcji konfiguracji, która ustawi nagłówek Expires na datę w stosunku do bieżącej daty dla wszystkich treści.
Innym rozwiązaniem byłoby ustawienie Cache-Control: max-age na określoną wartość. czy to działa? Czy jest ona akceptowana przez głównych przeglądarek? Czy z tego powodu zniszczę algorytmy buforowania? Dlaczego YSlow zaleca ustawienie nagłówka Expires, ale nie Cache-Control: max-age?
Wszelkie inne zalecenia? Kompresujemy CSS i JS, używając Sprites tam, gdzie jest to możliwe, ustawiając nagłówki Expires i ETag, gdzie jest to możliwe, i wkrótce skompresujemy nasze Obrazy za pomocą Narzędzia kompresji Yahoo i gzipping Output.
Cześć Paul, mam ten sam problem, czy udało ci się lepiej rozwiązać? – ic3
Nie, AFAIK nie ma lepszego rozwiązania. –
@PaulWeber możesz podzielić się istotą tego, co zrobiłeś Również muszę zrobić podobne rzeczy – msonowal