RequestHeader an Proxy, möchte keine gecachte Datei?
Horst Nogajski
- https
Hallo zusammen,
gibt es für einen HTTP/1.1 GET-Request der zu einem Proxy geschickt wird auch einen Header der den Proxy veranlasst _nicht_ eine gecachte Version auszuliefern?
Viele Grüße,
Horst
hi,
gibt es für einen HTTP/1.1 GET-Request der zu einem Proxy geschickt wird auch einen Header der den Proxy veranlasst _nicht_ eine gecachte Version auszuliefern?
Du meinst evntl.: über einen Proxy.
Da gibts ein pragma:
pragma: no-cache
Das kann auch dem Get-Request mitgegeben werden (telnet, wget...). Der Proxy holt dann die Seite komplett neu und liefert auch die neue Seite ungecached aus.
Gruss, Rolf
Moin,
gibt es für einen HTTP/1.1 GET-Request der zu einem Proxy geschickt wird auch einen Header der den Proxy veranlasst _nicht_ eine gecachte Version auszuliefern?
RFC 2616, Abschnitt 14.9. Cache-control: max-age=0 erscheint mir geeignet, wenn du If-modified-since o.ä. verwendest, sonst halt Cache-control: no-cache.
Hallo Henryk und Hallo Rolf,
merci für die Tipps.
Beides ist wohl nach RFC brauchbar. Mit 'Pragma: no-cache' ist es auch Rückwärtskompatibel zu HTTP/1.0.
In den Spezifikationen zu HTTP/1.1 stehen eine ganze Menge Möglichkeiten die Anfrage gezielter zu steuern,
(siehe 14.9.4 Cache Revalidation and Reload Controls)
Leider hat nicht eine einzige davon hier bei mir lokal gefruchtet.
Ich habe folgende ausprobiert, jeden einzeln und auch teilweise in Kombination:
Pragma: no-cache
Cache-Control: no-cache
Cache-Control: max-age=0
Cache-Control: must-revalidate
Cache-Control: proxy-revalidate
Leider _immer_ mit dem Ergebnis das mir mein lokaler Proxy zwar netterweise eine Warnung mitgeschickt hat das die Resource schon ein bißchen angegammelt ist (3 Tage alt) aber geschickt hat er mir das alte Ding trotzdem, anstatt es zu aktualisieren.
Seltsamerweise (?) öffnet der Proxy bei einer HEAD-Anfrage eine Verbindung zum Zielserver, aber bei der GET-Anfrage nicht.
In den beiden Beispielrequests kann man z.B. sehen das bei der HEAD-Abfrage das neue Datum der Datei erkannt wird, aber bei der _danach_ erfolgten GET-Abfrage gibt er mir die alten Daten aus dem Cache wieder. (Wenn man das so mit den Aussagen in den HTTP/1.1 Spezifikationen vergleicht, dann kommt man aber schnell in Versuchung zu sagen das der Proxy Sche..... ist).
Weiß jemand vielleicht noch einen Rat?
Beste Grüße, Horst
HEAD-Anfrage und Antwort:
---------------------------------------------------------------------
open Sock to Proxy: 10.10.10.80 Port: 8080
send Requestheaders:
HEAD http://www.nogajski.de:80/portfolio/intropicts/intropict_05.jpg HTTP/1.1
Host: www.nogajski.de
Proxy-Connection: close
Proxy-Authorization: Basic 123QX0STXTpsZXRrZWRvuXlqb2Ix
User-Agent: PHP_CLI 4.3.8
Cache-Control: max-age=0
Connection: close
retrieve Responseheaders:
HTTP/1.1 200 OK
Age: 0
Connection: close
Content-Length: 15506
Content-Type: image/jpeg
Date: Sun, 08 Aug 2004 15:54:54 GMT
Last-Modified: Sun, 08 Aug 2004 15:43:43 GMT
Proxy-Connection: close
Server: Apache/1.3.26 (Linux/SuSE) PHP/4.2.2 mod_perl/1.27 FrontPage/4.0.4.3
X-Cache: PRIVATE from xxxxxx
X-LOLA-Lastupdate: Sun, 08 Aug 2004 15:55:16 GMT
---------------------------------------------------------------------
GET-Anfrage und Antwort:
---------------------------------------------------------------------
open Sock to Proxy: 10.10.10.80 Port: 8080
send Requestheaders:
GET http://www.nogajski.de:80/portfolio/intropicts/intropict_05.jpg HTTP/1.1
Host: www.nogajski.de
Proxy-Connection: close
Proxy-Authorization: Basic 123QX0STXTpsZXRrZWRvuXlqb2Ix
User-Agent: PHP_CLI 4.3.8
Cache-Control: max-age=0
Connection: close
retrieve Responseheaders:
HTTP/1.1 200 OK
Age: 262909
Connection: close
Content-Length: 25087
Content-Type: image/jpeg
Date: Thu, 05 Aug 2004 14:57:10 GMT
Last-Modified: Mon, 22 Dec 2003 04:02:10 GMT
Proxy-Connection: close
Server: Apache/1.3.26 (Linux/SuSE) PHP/4.2.2 mod_perl/1.27 FrontPage/4.0.4.3
Warning: 13 xxxxxx URL is 3 day(s) old
X-Cache: HIT from xxxxxx
X-LOLA-Lastupdate: Thu, 05 Aug 2004 14:57:32 GMT
---------------------------------------------------------------------