-
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
Następne wpisy z tego wątku
- 20.11.10 11:47 porneL
- 20.11.10 14:15 Marek
- 20.11.10 14:22 Marek
- 20.11.10 14:41 porneL
- 20.11.10 18:07 Marek
- 20.11.10 18:59 porneL
- 21.11.10 15:38 Marek
- 21.11.10 15:48 Artur Muszyński
- 21.11.10 16:05 Artur Muszyński
- 21.11.10 17:11 Marek
- 21.11.10 17:21 Marek
- 21.11.10 18:12 Artur Muszyński
- 21.11.10 18:50 Artur Muszyński
- 21.11.10 19:01 Marek
- 21.11.10 19:55 porneL
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=
- 2024-11-30 Żerniki => Dyspozytor Międzynarodowy <=
- 2024-11-30 Warszawa => System Architect (background deweloperski w Java) <=
- 2024-11-30 Katowice => Key Account Manager (ERP) <=
- 2024-11-30 Immatrykulacja...