cache oder no-cache?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

cache oder no-cache?

Beitrag von Gumfuzi »

Hallo!

wie muss ich folgenden Code ändern, damit die Seite nicht dauern frisch ladet?

Code: Alles auswählen

// Add no-cache control for cookies if they are set
//$c_no_cache = (isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_sid']) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_data'])) ? 'no-cache="set-cookie", ' : '';

// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
	header ('Cache-Control: no-cache, pre-check=0, post-check=0');
}
else
{
	header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header ('Expires: 0');
header ('Pragma: no-cache');
Welche Nachteile hätte das? (in Bezug auf ungelesene Beiträge,Suche, Sessions, etc.)
Was gibt es sonst noch zu beachten?
Bringt ein META-Tag in der overall_header.tpl etwas?
Ist es möglich, daß zuerst alle Daten geladen werden (inkl. aller Bilder auf der Seite) und dann erst mit der Ausgabe begonnen wird?
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

genau das habe ich auch gerade gefunden.

von wegen mit apache2 würde das nicht gehen. diese einstellung hat mich jetzt schon nerven ohne ende gekostet und vom traffic mal abgesehen.

ändere den code in:

Code: Alles auswählen

// Add no-cache control for cookies if they are set
//$c_no_cache = (isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_sid']) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_data'])) ? 'no-cache="set-cookie", ' : '';

// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
// mod header cache control
// delete
/*
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
	header ('Cache-Control: no-cache, pre-check=0, post-check=0');
}
else
{
	header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
*/
// add
header ('Cache-Control: private, pre-check=0, post-check=0');
// fin mod header cache control
header ('Expires: 0');
header ('Pragma: no-cache');
ich weiß nicht seit wann diese einstellung existiert, aber die muss in einem der letzten updates oder so gewesen sein oder mir ist es erst aufgefallen, seit dem mein provider auf apache2 umgestellt hat. naja jedenfalls werden die seiten jetzt wieder gecached.

vielleicht weiß ja jemand genaueres warum das mit apache2 angeblich nicht klappen soll. ich kann jedenfalls keinen fehler feststellen.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

hat sonst niemand das problem?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Ich verstehe nicht wie das kein anderer bemerken kann. Das Problem ist sogar hier auf phpbb.de.

Wenn man eine Suche ausführt und dann auf ein Suchergebnis klickt und danach wieder im Browser auf "zurück", dann kommt:
Achtung: Seite ist nicht mehr gültig Die angeforderte Seite wurde mit Hilfe von Informationen erstellt, die von Ihnen in einem Formular mitgeteilt wurden. Diese Seite ist nicht mehr verfügbar. Als Sicherheitsmaßnahme übermittelt Internet Explorer solche persönlichen Informationen nicht automatisch erneut.

Falls Sie die Seite ansehen und die Informationen erneut mitteilen möchten, klicken Sie auf Aktualisieren.
Soll heißen der IE hat die Seite nicht cachen können. Was meiner Meinung nach ein Fehler ist, weil es nach dem aktualisieren 1. zusätzliche Last bedeutet und 2. unkomfortabel ist.

Edit:
Ein weiteres Beispiel wäre, wenn man seinen Beitrag schreibt und dann auf Vorschau geht, oder wenn man aus irgendeinem Grund ausversehen zurück muss auf seine Beitragserstellung, dann sind alle gemachten Änderungen futsch und die Seite wurde neu geladen. Das Problem bekommt man damit auch in den Griff. Wohlgemerkt ist der IE wohl nur davon betroffen, aber der Fehler wird durch das NO-CACHE ausgelöst. Naja wenn ihr damit leben könnt ;)
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Man kann ja auch im IE einstellen, ob er die Seite jedesmal neu lädt oder nicht, etc.
Hat das ev. darauf auch Auswirkungen?
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Naja gehen wir hier von Standardeinstellungen aus die 50%-70% aller Internetuser eingestellt haben oder versuchen wir alle aufzuklären, dass sie ihre Einstellungen ändern ;)
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Antworten

Zurück zu „Coding & Technik“