eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwJak działa nagłówek max-age?Re: Jak działa nagłówek max-age?
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!not-for-mail
    From: Marek <b...@e...com>
    Newsgroups: pl.comp.www
    Subject: Re: Jak działa nagłówek max-age?
    Date: Sat, 20 Nov 2010 11:14:23 +0100
    Organization: Dzial Sieciowy ICM, Uniwersytet Warszawski
    Lines: 119
    Message-ID: <ic872a$r7r$1@news.net.icm.edu.pl>
    References: <ic0icp$2fd$1@news.net.icm.edu.pl> <o...@a...local>
    <ic5k94$uhh$1@news.net.icm.edu.pl> <ic5sc1$e7f$1@inews.gazeta.pl>
    <ic6383$ren$1@news.net.icm.edu.pl> <ic6ehc$ef1$1@inews.gazeta.pl>
    <ic6m02$3ib$1@news.net.icm.edu.pl> <o...@a...local>
    NNTP-Posting-Host: chello089074029198.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.net.icm.edu.pl 1290248074 27899 89.74.29.198 (20 Nov 2010 10:14:34 GMT)
    X-Complaints-To: u...@n...net.icm.edu.pl
    NNTP-Posting-Date: Sat, 20 Nov 2010 10:14:34 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.12) Gecko/20101027
    Thunderbird/3.1.6
    In-Reply-To: <o...@a...local>
    Xref: news-archive.icm.edu.pl pl.comp.www:397368
    [ ukryj nagłówki ]

    W dniu 2010-11-19 23:24, porneL pisze:
    >
    >> W odpowiedzi (200) dostaję:
    >>
    >> Date Fri, 19 Nov 2010 20:07:54 GMT
    >> Server Apache
    >> Expires Fri, 19 Nov 2010 20:08:54 GMT
    >> Cache-Control must-revalidate
    >> Pragma no-cache
    >> Last-Modified Wed, 17 Nov 2010 12:14:04 GMT
    >>
    >>
    >> Zauważ, że ustawiłem 60 sekund na wygaśnięcie.
    >
    > Ustawiłeś sprzeczne informacje.

    A tak, to pomyłka. Eksperymentowałem tu z różnymi ustawieniami tak aby
    Expires mogło zadziałać. Zapomniałem przywrócić wartość "public",
    przepraszam.

    W drugim kroku usunąłem Expires i ustawiałem Cache-Control na public,
    private, max-age (=0 i 100), no-cache. Ze zdumieniem stwierdziłem, że
    nie wpływa to na nic kompletnie. Zachowują się te wartości tak jak
    must-revalidate. Czyli do serwera leci if-modified-since a on musi
    odpowiedzieć wtedy 304. Co ciekawe - dotyczy to WYŁĄCZNIE pliku
    określonego przez URL. Cache poprawnie działa (nie próbuje pobierać)
    plików typu JS/CSS/obrazki gdzie wysyłam identyczne nagłówki. W nich
    również ustawiam m.in. max-age, choć dodatkowo Etag również. Dorzuciłem
    eksperymentalnie Etag do pliku wskazywanego przez URL lecz to niczego
    nie zmieniło w cacheowaniu - przeglądarka wysyła do CMS jeden nagłówek
    więcej if-none-match w odpowiedzi - to jedyna różnica. Wygląda na to, że
    plik wskazywany przez URL zachowuje się zawsze tak jakby miał ustawione
    "must-revalidate". Przerzuca validowanie czasu na serwer.

    Poniżej załączam istotne nagłówki dla pliku graficznego (czytanego
    dynamicznie z bazy - nie ma go na dysku), który jest cacheowany a
    jeszcze niżej dla omawianego dokumentu, który wymaga validacji serwera.
    Szczerze mówiąc nie widzę różnicy, która wymusza validację dla dokumentu.

    Plik graficzny zapytanie:

    GET /readfile/PICT3998.jpg HTTP/1.1
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.12)
    Gecko/20101026 Firefox/3.6.12
    Accept: image/png,image/*;q=0.8,*/*;q=0.5
    Accept-Language: pl,en-us;q=0.7,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    Connection: keep-alive
    Cookie: PHPSESSID=03f97454afa9d17e77c2cdc2f2260fff
    If-Modified-Since: Sat, 20 Nov 2010 10:12:11 GMT
    If-None-Match: "1-1290244331"
    Cache-Control: max-age=0

    Plik graficzny odpowiedź:

    HTTP/1.1 304 Not Modified
    Date: Sat, 20 Nov 2010 09:58:12 GMT
    Server: Apache
    Connection: Keep-Alive
    Keep-Alive: timeout=15, max=99
    Etag: 1-1290244331
    Cache-Control: max-age=600
    Vary: Accept-Encoding


    Dokument zapytanie:
    GET / HTTP/1.1
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.12)
    Gecko/20101026 Firefox/3.6.12
    Accept: text/html,application/xhtml+xml,application/xml;q=0.
    9,*/*;q=0.8
    Accept-Language: pl,en-us;q=0.7,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    Connection: keep-alive
    Cookie: PHPSESSID=03f97454afa9d17e77c2cdc2f2260fff
    If-Modified-Since: Sat, 20 Nov 2010 09:19:22 GMT
    Cache-Control: max-age=0

    Dokument odpowiedź:
    HTTP/1.1 304 Not Modified
    Date: Sat, 20 Nov 2010 09:58:12 GMT
    Server: Apache
    Connection: Keep-Alive
    Keep-Alive: timeout=15, max=96
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: max-age=60
    Vary: Accept-Encoding

    Nagłówek Expires sam się dokleja. Jego ustawienie w PHP na teraz plus to
    co jest w max-age nie ma wpływu. Oto dowód:

    Dokument zapytanie:
    GET / HTTP/1.1
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.12)
    Gecko/20101026 Firefox/3.6.12
    Accept: text/html,application/xhtml+xml,application/xml;q=0.
    9,*/*;q=0.8
    Accept-Language: pl,en-us;q=0.7,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    Connection: keep-alive
    Cookie: PHPSESSID=03f97454afa9d17e77c2cdc2f2260fff
    If-Modified-Since: Sat, 20 Nov 2010 09:19:22 GMT

    Dokument odpowiedź:
    HTTP/1.1 304 Not Modified
    Date: Sat, 20 Nov 2010 10:10:22 GMT
    Server: Apache
    Connection: Keep-Alive
    Keep-Alive: timeout=15, max=99
    Expires: Sat, 20 Nov 2010 10:11:22 GMT
    Cache-Control: max-age=60
    Vary: Accept-Encoding



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: