Seite 1 von 1

cache oder no-cache?

Verfasst: 08.07.2005 22:02
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?

Verfasst: 06.11.2005 23:19
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.

Verfasst: 20.11.2005 10:05
von mgutt
hat sonst niemand das problem?

Verfasst: 23.02.2006 10:28
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 ;)

Verfasst: 23.02.2006 12:27
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?

Verfasst: 23.02.2006 13:42
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 ;)