Fehler bei Umsetzung MetaTag "no cache" und Mehrfachangaben Favicon im Quelltext

marboe schrieb am 22.04.2013 um 18:35 Uhr

Hallo Community,

ich habe aktuell gleich zwei Fragen - in der Hoffnung, dass jemand von euch da Licht ins Dunkel bringen kann.

1. Die Meta-Anweisung "no cache" wird nicht umgesetzt. Der Quelltext zeigt m.E. alles richtig an; die Seite wird aber trotzdem aus dem Cache des Browsers geladen. Eingebunden ist das Ganze als <meta http-equiv="cache-control" content="no-cache"> im Head der betreffenden Seite.

Warum funktioniert dieser Code nicht? Wird der Code evtl. nur von bestimmten Browsern gelesen? Gibt es eine Altnative die von allen Browsern umgesetzt wird? Ich habe im Netz nichts brauchbares dazu gefunden.

2. Beim Anschauen des Quelltextes zu 1. ist mir aufgefallen, dass es mehrere Zeilen zum Favicon gibt. Es ist aber nur einmal eingebunden als Foto.jpg mit Namen "favicon". Das ist jetzt nicht dramatisch - das Favicon wird ja korrekt angezeigt. Aber ich frage mich - wieso ist das so, dass es im Quelltext mehrfach auftaucht?

Leider kann ich euch keinen Link posten, weil die Seite passwortgeschützt ist. Aber die "no cache" - Anweisung wäre grade für diese Seite ziemlich wichtig. Hier ein Bild vom Quelltext:

Ich freue mich auf viele fruchtbare Beiträge , Martina

WebDesigner MX premium

Kommentare

BeRo schrieb am 22.04.2013 um 21:22 Uhr

[...] Die Meta-Anweisung "no cache" wird nicht umgesetzt [...]

So, wie Du das MetaTag eingebaut hast, ist alles i. O. Wenn es trotzdem nicht funktioniert, kann das u. U. daran liegen, dass Dein ISP einen Proxy Server einsetzt.

In dem Fall kannst Du das Problem lösen, indem Du zusätzlich noch diese Zeile in den Head Bereich einfügst, die auf die speziellen Eigenheiten eines Proxy Servers Rücksicht nimmt:

---------------------------
<meta http-equiv="pragma" content="no-cache">
--------------------------

Zusätzlich kannst Du noch das folgende MetaTag einbauen:

-------------------------
<meta http-equiv="expires" content="0">
-------------------------

Damit wird ebenfalls veranlasst, dass die Seite in jedem Fall von der Originaladresse geladen wird

 

[...] ist mir aufgefallen, dass es mehrere Zeilen zum Favicon gibt [...]

Das Thema "Favicon" hatten wir ja kürzlich, in diesem Thread, schon etwas ausführlicher beleuchtet. Dabei hat sich herausgestellt, dass es ausreichend- und empfehlenswert ist, das Favicon ins root Verzeichnis des Webspace zu legen. Andererseits schadet die mehrfache Zuweisung des Favicon offenbar nicht.

In deinem Fall wird  einmal auf die Datei "favicon.ico" verwiesen und einmal auf die "favicon.png". Beide Zuweisungen sind gültig (wenn die Dateien vorhanden sind) und stören sich nicht gegenseitig.

IMHO gibt es also für Deine Site keinen Handlungsbedarf.

Viel Erfolg und einen schönen Start in die Woche

Zuletzt geändert von BeRo am 22.04.2013, 21:22, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

marboe schrieb am 23.04.2013 um 14:13 Uhr

Hallo BeRo, wieder einmal vielen herzlichen Dank für die bereichernde Hilfestellung. Ich dachte "pragma" wäre nur was für ältere Browser aus der Steinzeit und ich wusste auch nicht dass man die Metas alle nebeneinander packen darf. Wieder was gelernt.

Aber ich muss leider vermelden, dass es nicht funktioniert. Ich habe sogar mehrfach den Tab geschlossen und wieder aufgerufen. Hätte ja sein können, dass 1&1 halt ein bisschen braucht bis neue FTP-Daten abrufbar sind. Aber leider - auch nach 5 Minuten - half erst das Drücken auf F5 die neuen Daten anzuzeigen.

Hast du noch eine Idee was das sein könnte? Ich weiß mit Sicherheit, dass es vor ca. 1.5 Jahren mal funktioniert hat als ich es frisch eingebaut hatte. Aber ich habe es natürlich nicht ständig kontrolliert. Aktuell ist es nur durch Zufall aufgefallen, so dass ich hierzu keine erhellenden Angaben machen kann. (bis auf SSL, wie schon erwähnt).

Herzliche Grüße, Martina

BeRo schrieb am 23.04.2013 um 17:21 Uhr

[...] ich muss leider vermelden, dass es nicht funktioniert [...]

Hast Du daran gedacht, vor dem ersten Test den Cache zu leeren?

Wenn ja, dann musst Du wohl andere Methoden versuchen.

Leider sind Meta-Tags nicht besonders effektiv, weil sie nur von einigen Browser-Caches beachtet werden (das sind die, die den HTML-Code lesen), seltener von Proxy-Caches (die i. d. R. den HTML Code im Dokument nicht lesen). Auch ein Pragma: no-cache als Meta-Tag in eine Webseite eingefügt, erzwingt nicht automatisch das neu Laden.

Wenn Dein ISP (1&1) das Modul “mod_expires” im Apache aktiviert hat (beim Server Admin erfragen), kannst Du versuchen, mit einer entsprechend konfigurierten .htaccess Datei das Problem zu lösen.

Eine mit REDbot erstellte Analyse der Antwort des Webservers beim Aufruf Deiner Site, signalisiert zumindest die Möglichkeit der userdefinierten "lifetime" der Site (s. Screenshot).

Sollte das Modul “mod_expires” also aktiv sein, kannst Du hier  einen sehr gut gemachten Artikel lesen, in dem proog ausführlich (mit Beispielen) erklärt hat, wie das umgesetzt wird.

Mit ein bisschen Glück klappt Dein Vorhaben so.

Viel Erfolg

Zuletzt geändert von BeRo am 23.04.2013, 17:21, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

marboe schrieb am 23.04.2013 um 18:14 Uhr

Hallo BeRo, vielen lieben Dank erneut.

Bei mir ergibt die Analyse mti Redbot eine andere Ausgabe. Leider kann ich nicht gut genug englisch um das wirklich zu verstehen (auch mit Übersetzungshilfe nicht). Das bekomme ich bei der entsprechenden "kränkelnden" Seite angezeigt:

Bezgl mod_expires muss ich tatsächlich fragen. Das konnte ich so nicht bei 1&1 finden. Apache-ja, mod_rewrite - ja. HTACCESS - kein Problem. Vorher habe ich aber noch eine Frage :

Hast Du daran gedacht, vor dem ersten Test den Cache zu leeren?

Öhm.... nein .

Wieso das? Meine Logik (*hahaha*)  Ich hatte die Seite als Tab in FF20 geöffnet. Sehe, das ich was ändern muss. Tab geschlossen.

Im WD geändert - hochgeladen - Seite aus den Favoriten erneut aufgerufen. Ein neuer Tab geht auf.

Ich dachte mit dem Code zu erreichen, wann immer ich die Seite aufrufe, sie eben nicht aus dem Browsercache geladen wird, sondern immer neu. Ob ich da dazwischen den FF mal schließe oder nicht (ist bei mir so eingestellt, dass dann immer der Cache gelöscht wird.)

Wo ist da der Denkfehler? Bin verwirrt  :)

Ergänzung: habe mich entwirrt und verstanden was du meinst . Es war natürlich "nur" die erste Meta-Angabe im Cache (die ja nicht funktioniert) aber noch nicht der neue Code. Sorry - das hat jetzt ein bisschen gedauert bei mir. Ich teste erneut mit bereinigtem Cache....

HG Martina

BeRo schrieb am 23.04.2013 um 19:05 Uhr

[...] Ich dachte mit dem Code zu erreichen, wann immer ich die Seite aufrufe, sie eben nicht aus dem Browsercache geladen wird [...]

Das wird auch funktionieren, wenn vor dem 1. Test der Cachespeicher leer ist. Andernfalls trittst Du in die Fußangel, die der FF ausgelegt hat, weil er eben (noch) nichts von Deinen Änderungen weiß, die Du per Meta Tag angelegt hast und er Dir folgerichtig zunächst die alten Inhalte anzeigt...

[...] Ob ich da dazwischen den FF mal schließe oder nicht (ist bei mir so eingestellt, dass dann immer der Cache gelöscht wird.)

Wo ist da der Denkfehler? [...]

Wenn der Browsercache standardmäßig beim Verlassen gelöscht wird, hast Du keinen Denkfehler drin.

[...] Das bekomme ich bei der entsprechenden "kränkelnden" Seite angezeigt: [...]

Ganz offensichtlich sind in der Antwort des Servers beim Seitenaufruf keine expliziten Infos zur Cache Behandlung enthalten.

Die Empfehlung: 'Cache-Control 'must-revalidate'' kannst Du aber benutzen, wenn Du die .htaccess Datei so anlegst wie als 2. Möglichkeit in diesem Artikel von proog erklärt.


Da Du nur gewinnen kannst, solltest Du es probieren...

Viel Erfolg

 

Zuletzt geändert von BeRo am 23.04.2013, 19:05, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

marboe schrieb am 26.04.2013 um 11:55 Uhr

Hallo BeRo,

vielen herzlichen Dank für deine erneute Hilfe.

Ich weiß nun, dass

<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="0">

im Head leider auch nicht reicht. Auch nach bereinigtem Cache funktioniert das bei 1&1 leider nicht.

Also wird der Weg der sein, dass ich folgendes in der .htaccess ausprobieren muss:

<FilesMatch "\.(htm|html|php)$">
 FileETag None
 Header set Cache-Control "max-age=86400, public, must-revalidate"
 </FilesMatch>

Aber: leider ist das gar nicht so einfach zu machen, denn ich habe die Verschlüsselung der Seite per 1&1 gemacht. In der jetzigen .htaccess sind also lauter Passwörter drin - die ja auch recht regelmäßig geändert werden bzw ergänzt. Das bedeutet auch: die .htaccess wird von 1&1 regelmäßig überschrieben. Da rächt sich jetzt dieser eigentlich einfache, aber faule Weg diesen Passwortschutz über den Hoster zu machen.

Ich muss mir also einen anderen Weg einfallen lassen; und sei es dass ich diese eine Seite einfach in ein anderes Verzeichnis packe und dann eine eigene htaccess erstellen kann ohne das dies kollidiert. Ob das der sinnvollste Weg ist, muss ich nochmal in Ruhe überdenken (und die habe ich grade nicht so).

Auf jeden Fall habe ich durch deine Antworten wieder einen neuen und interessanten Einblick in die Materie bekommen. Und ich denke der Weg über ein eigenes Verzeichnis mit eigener htaccess funktioniert dann auf alle Fälle.  DANKE !

Gruß Martina

BeRo schrieb am 26.04.2013 um 12:21 Uhr

[...] ich denke der Weg über ein eigenes Verzeichnis mit eigener htaccess funktioniert dann auf alle Fälle [...]

Das ist absolut korrekt. Die Mehrarbeit für die Verlinkung, die Du dann anpassen musst, hält sich ja in vertretbaren Grenzen.

[...] Auf jeden Fall habe ich [...] wieder einen neuen und interessanten Einblick in die Materie bekommen [...]

Wenn Du noch ausführlichere Infos zu dem Thema lesen möchtest, Dann wirf mal einen Blick auf diese Site.

Da hat Thomas Hühn ein umfassendes caching Tutorial veröffentlicht (deutsch).

Viel Erfolg und eine schönes WE (dauert ja nicht mehr lange bis dahin...)

Zuletzt geändert von BeRo am 26.04.2013, 12:21, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓