Re: w3cache

Autor: Wojtek Sylwestrzak (wojsyl_at_icm.edu.pl)
Data: Sat 09 Mar 1996 - 23:40:02 MET


Michal Jankowski (Michal.Jankowski_at_fuw.edu.pl) wrote:
: Jestem zdania, ze tego typu cache ma sens tylko wtedy ,jesli sama z
: siebie bedzie sciagac ze zrodla wtedy, jesli w zrodle sie zmienilo.
: Mozna przy kazdym odwolaniu do 'skaszowanego' dokomentu robic 'get' z
: oryginalnego miejsca, z ustawionym 'If-modified-since' i problem
: nieaktualnych stron sam sie rozwiaze. Oczywiscie, kosztem troche
: zwiekszonego ruchu. ALe tylko troche, bo jesli strona sie nie
: zmienila, to przeleci tylko pare linijek. Jesli uwazacie, ze to jest
: zbyt kosztowne, to mozna sprawdzac aktualnosc nie przy kazdym
: odwolaniu, tylko np. po uplywie jednej doby (albo godziny...) od
: poprzedniego sprawdzenia.

To raczej pytanie z gatunku 'to cache or not to cache'.
To co proponujesz, oznaczaloby zameczanie 'zrodlowych' serwerow
WWW ciaglymi pytaniami: 'czy aby ten dokument jest jeszcze aktualny ?'
A chodzi o to, zeby je tez troszke oszczedzic.
Ze wzgledu na to, ze cache ma dzialac szybciej niz laczenie sie
z serwerem zrodlowym czegos takiego nie zaimplementowano
w zadnej ze znanych mi wersji serwerow cache.
Co nie znaczy, ze nie probuje sie tego zrobic - kolejna wersja harvest cache
ma miec eksperymentalnie taka opcje.

Tym nie mniej idea kaszowania pozostaje taka sama - cache powinien byc w stanie
samodzielnie okreslic czas zycia buforowanego obiektu.
Na podstawie 'metainformacji' z headera takich, jak Expires
czy Last-Modified.

Niestety niektore serwery (w tym nasz ulubieniec - CERN 3.0)
nie udzielaja takich informacji i w takich przypadkach trzeba
ustawiac ttl na sztywno.

Jak juz pisalem w http 1.1 jest (bedzie) Cache-Control i Unless,
ktore bedzie mozna wykorzystac do bardziej finezyjnego strojenia
cache'y.

Natomiast If-Modified-Since sluzy do czego innego - mianowicie
ma zastosowanie dla lokalnych cache'y wbudowanych w klientow.
Klient po prostu pisze do servera 'zrodlowego' warunkowy GET.

Serwer cache zas nie wydaje polecenia GET dopuki:
a/ nie jest mu to explicite nakazane przez uzytkownika
   (ktory zakladamy, ze wie co robi)
b/ nie posiada zywego obiektu w cache (bo na przyklad
   ttl sie skonczyl).

Kazdorazowe laczenie sie z serwerem WWW byloby sprzeczne z idea cache'a.

: Trzymanie tygodniami bez zadnej weryfikacji to nonsens.

To prawda. Ale kto mowi o trzymaniu tygodniami ?
Na przyklad w3cache.icm.edu.pl trzyma obiekty http ponizej 8MB
przez czas rowny 1/5 czasu, jaki uplynal od Last-Modified do czasu
pobrania do cache'a, nie dluzej jednak niz 7 dni.
W przypadku braku informacji Last-Modified, czas przyjmowany jest za
24 godziny dla plikow .html, 2 dni dla .gif, .jpg i .ps.
i 7 dni dla pozostalych.
Pliki powyzej 8MB, oraz ftp i gopher nie sa cache'owane.

--w



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 15:55:06 MET DST