-
Data: 2010-11-21 15:38:16
Temat: Re: Jak działa nagłówek max-age?
Od: Marek <b...@e...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2010-11-20 19:59, porneL pisze:
> session.cache_limiter ustawiony na coś innego, niż 'none' próbuje wysłać
> swoje własne nagłówki mające na celu uniemożliwiać cache'owanie strony i
> przy tym nadpisuje wartości z header().
Mam ustawione "nocache". Więc to nie to. Ponadto wydaje mi się, że nic
nie nadpisuje moich nagłówków - o ile polegać na firebugu. Jednyny
"obcy" nagłówek to cookies.
> Natomiast to ustawienie nie ma wpływu na Cache-Control wysyłane w
> zapytaniu przez przeglądarkę (to raczej powoduje F5 albo jakieś
> rozszerzenie).
Hmmm... no to zrobiłem kolejną próbę. Użyłem gołej przeglądarki Chrome
bez żadnych dodatków. Uruchomiłem Microsoft Network Monitor aby odciąć
się od wszelkich pluginów itp. Wszedłem na testowaną stronę WWW, na
której zrobiłem link do samej siebie. Kliknąłem na tym linku. To
wszystko zarejestrował Network monitor. Sytuacja powtórzyła się. Wygląda
na to, że nie da się cacheować (tzn. przesłać odpowiedniej kombinacji
nagłówków) do tego stopnia aby przeglądarka w ogóle nie odpytywała
serwera w przypadku strony HTML wygenerowanej przez PHP. Includy to inna
sprawa. A oto przykład dialogu przeglądarki i serwera. Nie ma w
odpowiedziach serwera żadnych nagłówków mających wpływ na cache, których
sam nie generuję w CMS (z wyj. pragma, które i tak nie wpływa na nic w
HTTP 1.1 - jak sprawdziłem). Masz pomysł co jeszcze może być przyczyną
zbędnego odpytywania serwera?
Pierwsze wejście, przeglądarka do serwera po uprzednim wyczyszczeniu
cache ze wszystkiego:
- Http: Request, GET /
Command: GET
+ URI: /
ProtocolVersion: HTTP/1.1
Host: jakistam.pl
Connection: keep-alive
Accept:
application/xml,application/xhtml+xml,text/html;q=0.
9,text/plain;q=0.8,image/png,*/*;q=0.5
UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US)
AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.200 Safari/534.10
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.3
Serwer odpowiada:
- Http: Response, HTTP/1.1, Status: Ok, URL: /
ProtocolVersion: HTTP/1.1
StatusCode: 200, Ok
Reason: OK
Date: Sun, 21 Nov 2010 14:41:07 GMT
Server: Apache
Set-Cookie: PHPSESSID=87aa728c3d2765a876e07571aef7d2cd; path=/
Expires: Sun, 21 Nov 2010 14:42:07 GMT
Cache-Control: max-age=60
Pragma: no-cache
Last-Modified: Sat, 20 Nov 2010 09:19:22 GMT
ContentEncoding: gzip
Vary: Accept-Encoding
ContentLength: 927
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
+ ContentType: text/html
Ustawiam 60 sekund na wygaśnięcie treści zarówno w Cache-Control, jaki i
w Expires - jak doradził Paweł. Nagłówki nie wyglądają chyba na błędne,
niekompletne lub dorzucone w formie gratisu przez PHP. Czy dostrzegasz
jakieś ułomności w tym dialogu?
Teraz klikamy na linku w dokumencie. Link o adresie "/" prowadzi do
strony głównej, na której jesteśmy. Jeśli dokument byłby w cache i nie
upłynęłaby minuta, to przeglądarka NICZEGO nie powinna wysłać tylko
pobrać sobie z pamięci podręcznej ten dokument. Prawda?
Tymczasem po kliknięciu przeglądarka robi psikusa i mimo wszystko wysyła:
- Http: Request, GET /
Command: GET
+ URI: /
ProtocolVersion: HTTP/1.1
Host: jakistam Connection: keep-alive
Referer: http://jakistam.pl/
Accept:
application/xml,application/xhtml+xml,text/html;q=0.
9,text/plain;q=0.8,image/png,*/*;q=0.5
UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US)
AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.200 Safari/534.10
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.3
+ Cookie: PHPSESSID=87aa728c3d2765a876e07571aef7d2cd
If-Modified-Since: Sat, 20 Nov 2010 09:19:22 GMT
A serwer posłusznie odpowiada:
- Http: Response, HTTP/1.1, Status: Not modified, URL: /
ProtocolVersion: HTTP/1.1
StatusCode: 304, Not modified
Reason: Not Modified
Date: Sun, 21 Nov 2010 14:41:13 GMT
Server: Apache
Connection: Keep-Alive
Keep-Alive: timeout=15, max=97
Expires: Sun, 21 Nov 2010 14:42:13 GMT
Cache-Control: max-age=60
Vary: Accept-Encoding
Jak widać - zaledwie 7 sekund różnicy jest pomiędzy kolejnymi
wywołaniami. To dużo mniej niż 60 przesłane w pierwszym nagłówku (200).
Następne wpisy z tego wątku
- 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
- 21.11.10 20:01 porneL
- 21.11.10 20:05 Marek
- 21.11.10 20:35 Marek
- 22.11.10 06:56 Artur Muszyński
- 22.11.10 11:35 Marek
- 22.11.10 23:10 Artur Muszyński
- 23.11.10 18:42 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
- 2025-01-07 Aero2
- 2025-01-06 odbiornik GPS z kablem USB
- 2025-01-07 Oszczędzanie nie jest łatwe
- 2025-01-07 Warszawa => Java Developer <=
- 2025-01-07 Warszawa => IT Recruiter <=
- 2025-01-07 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2025-01-07 Żerniki => Specjalista ds. Employer Brandingu <=
- 2025-01-06 Jeździ, skręca, hamuje
- 2025-01-06 Białystok => System Architect (Java background) <=
- 2025-01-06 Gliwice => Specjalista ds. public relations <=
- 2025-01-06 Białystok => Solution Architect (Java background) <=
- 2025-01-06 Zielona GĂłra => Konsultant WdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody