-
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
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Do sądu trafił pozew zbiorowy przeciw Google'owi - oskarżenie o praktyki monopolistyczne na rynku reklamy internetowej
- 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>
Najnowsze wątki
- 2025-06-05 Warszawa => Administrator of Systems and Networks <=
- 2025-06-05 Warszawa => Administrator Systemów i Sieci <=
- 2025-06-04 15.000.000 samochodów rocznie nie dojedzie z Katowic do Chorzowa, Bytomia, Tarnowskich Gór
- 2025-06-04 Białystok => Team Lead Data Engineer (Snowflake) <=
- 2025-06-04 Pomór bydła na Białorusi? Kartofli też brakuje...
- 2025-06-04 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-06-04 Tajemnica estakady w Chorzowie ujawniona
- 2025-06-04 Tajemnica estakady w Chorzowie ujawniona
- 2025-06-04 Białystok => Inżynier oprogramowania .Net <=
- 2025-06-04 Rzeszów => International Freight Forwarder <=
- 2025-06-04 Warszawa => Scrum Master <=
- 2025-06-04 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-06-04 Dziś od rana trwa strajk w zakładzie Jeremias w Gnieźnie.
- 2025-06-04 "W Sosnowcu [sukcesem -przyp. JMJ] zakończył się strajk pracowników firmy Bitron Appliance Poland."
- 2025-06-04 Rzeszów => Spedytor Międzynarodowy <=