Autor Thema: cachen verhindern über http-header  (Gelesen 3888 mal)

Offline chili

  • Frischling
  • *
  • Beiträge: 11
cachen verhindern über http-header
« am: 23.05.06 - 09:43:06 »
hallo,

nach ausgiebigen Recherschen im Netz bin ich zu dem Schluss gekommen das folgender Header sowohl im FF als auch im IE, das Cachen verhindern sollte:

Code
@SetHTTPHeader("Expires"; "Sat, 20 May 2006 08:00:00 GMT"); //Zeit aus der Vergangenheit --> Dokument veraltet, wird nicht aus cache geladen
@SetHTTPHeader("Last-Modified";"Sat, 20 May 2006 12:00:00 GMT");
@SetHTTPHeader("Cache-Control";"no-store");
@SetHTTPHeader("Cache-Control";"no-cache");
@SetHTTPHeader("Cache-Control";"must-revalidate");
@SetHTTPHeader("Cache-Control";"max-age=0");
@SetHTTPHeader("Cache-Control";"post-check=0");
@SetHTTPHeader("Cache-Control";"pre-check=0");
@SetHTTPHeader("Cache-Control";"false");
@SetHTTPHeader("Pragma";"no-cache")

Response Headers - http://localhost/chat2.nsf/chat?OpenForm:

Server: Lotus-Domino
Date: Tue, 23 May 2006 07:42:49 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 2285
Expires: Sat, 20 May 2006 08:00:00 GMT
Last-Modified: Sat, 20 May 2006 12:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0, false
Pragma: no-cache
Etag: W/"MTAtODA4NS1DMTI1NzE3NzAwMjYxODczLTAtMA=="

200 OK


Leider funktioniert dies nur im FF. Der IE cached die Daten nach wie vor.
Erwähenswert wäre noch, dass ich einen AJAX-Chat auf Notes Domino Basis entwickelt habe. Der eingegebene Text wird mittels POST über einen Agenten in die DB geschrieben. Ausgelesen wird der Text mittels GET.

Ich habe testweise einen gleichnahmigen chat über apache/mysql laufen. Dort funktioniert dieser Header seltsamerweise sowohl im FF als auch im IE  ???  :-:

// Cachen verhindern, php:
Code
header("Expires: Sat, 05 Nov 2005 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
Weiss jemand einen Rat warum der IE unter Notes Domino weiterhin cachen tut?

Schonmal Danke für Eure Hilfe!
Mathias
« Letzte Änderung: 23.05.06 - 10:57:55 von chili »

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: cachen verhindern über http-header
« Antwort #1 am: 23.05.06 - 11:02:00 »
Einzige Eklärung, die ich jetzt hätte ist, dass die domino http engine etwas cached.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline chili

  • Frischling
  • *
  • Beiträge: 11
Re: cachen verhindern über http-header
« Antwort #2 am: 23.05.06 - 11:52:40 »
so ich habe nun mit einem page detailer in erfahrung gebracht, dass der header nur in der FORM gültig ist. der aufruf der VIEW,mittels der die nachrichten aus domino ausgelesen werden, wird dagegen wieder gecached.

wie kann man denn der VIEW mitteilen, dass sie das auslesen nicht cachen soll?

die url zur VIEW sieht folgerdermaßen aus:
Code
  var url = '/' + $('WebDBName_').value + '/Messages?ReadViewEntries';


Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: cachen verhindern über http-header
« Antwort #3 am: 23.05.06 - 12:03:43 »
Du kannst ja zu jeder View eine Form definieren, in derem Kontext die View angezeigt wird ($$View Template) ....
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline chili

  • Frischling
  • *
  • Beiträge: 11
Re: cachen verhindern über http-header
« Antwort #4 am: 23.05.06 - 12:18:00 »
@m3 wie genau macht man das denn? bin anfänger in notes domino...   :-[

ich hab gerade mal die VIEW als embedded element in die FORM gestellt und den HTTP-HEADER auf no-cache gesetzt... ich weiss jetzt allerdings nicht wie ich über ReadViewEntries auf die embedded VIEW zugreifen soll...
ist mein ansatz überhaupt richtig??

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: cachen verhindern über http-header
« Antwort #5 am: 23.05.06 - 12:25:58 »
Als Notes-Anfänger solltest Du zunächst mal die Designer-Hilfe lesen. Unter "View Templates" findest Du dort weitere Infos.

Du willst keine embedded Views verwenden, sondern ein $$View Template ersztellen.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline chili

  • Frischling
  • *
  • Beiträge: 11
Re: cachen verhindern über http-header
« Antwort #6 am: 24.05.06 - 11:49:50 »
Habe es mit einem anderen-, einfacheren Ansatz hinbekommen.  Ich übergebe einfach dem Header(beim Aufruf der VIEW)  über 'setRequestHeader' --> 'if-Modified-Since' eine Zeit aus der Vergangenheit und schon wird nicht mehr gecached.  ;D

Trotzdem danke für Eure Hilfe!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz