Horst Nogajski: RequestHeader an Proxy, möchte keine gecachte Datei?

Beitrag lesen

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
    ---------------------------------------------------------------------