Antworten auf deine Fragen:
Neues Thema erstellen

Seite beim laden automatisch aktualisieren?

clown67

bildermixer

Hallo,

ich betreue eine Webseite für eine Vereinsabteilung, auf der immer wieder neue Termine, Berichte, Bilder usw. eingestellt werden. Da nun alle Browser der Schnelligkeit wegen aus Cache laden, sehen die Besucher nicht die Neuigkeiten (werden auf der Startseite angezeigt), wenn sie vorher schon auf der Seite waren, und verlassen die Seite weil sie denken es gibt nichts Neues.
Wenn ich das mit

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

mache, müssen alle die auf der Seite waren, trotzdem die Seite erst mal aktualisieren. Und ich musste feststellen, dass nicht alle Browserversionen z.B. von Firefox oder Chrome, sich daran halten.

So nun meine Frage: Kann man das mit JavaScript oder ähnlichen so lösen, das die Seite beim laden automatisch aktualisiert wird?

Danke und Grüße
clown67
 

Digicam

weitestgehend nur noch lesend

AW: Seite beim laden automatisch aktualisieren?

Da nun alle Browser der Schnelligkeit wegen aus Cache laden,

Richtig geht der Satz so weiter:

... wenn keine neuere Version auf dem Server liegt.

Der Browser gleicht vor dem Aufruf der Seite den Inhalt des Caches mit dem Inhalt auf dem Server ab. Nur wenn beide Versionen gleich sind, wird aus dem Cache geladen. Alles was neu ist, wird vom Server geholt.
 

clown67

bildermixer

AW: Seite beim laden automatisch aktualisieren?

Hi Digicam,

... wenn keine neuere Version auf dem Server liegt.

Der Browser gleicht vor dem Aufruf der Seite den Inhalt des Caches mit dem Inhalt auf dem Server ab. Nur wenn beide Versionen gleich sind, wird aus dem Cache geladen. Alles was neu ist, wird vom Server geholt.

stimmt leider nicht. Ich habe den Inhalt der Seite geändert und er wurde nicht beim laden der Seite angezeigt. Sondern es wurde die Seite aus der Cache geladen, wurde auch von einem Bekannten bestätigt.
 

Duddle

Posting-Frequenz: 14µHz

AW: Seite beim laden automatisch aktualisieren?

Dann ist entweder dein Browser oder der Server falsch eingestellt. Beides könntest du wohl per Firebug o.ä. Tools untersuchen.


Duddle
 

lachender_engel

Aktives Mitglied

AW: Seite beim laden automatisch aktualisieren?

Dann ist entweder dein Browser oder der Server falsch eingestellt. Beides könntest du wohl per Firebug o.ä. Tools untersuchen
Wie lässt sich so etwas untersuchen? Was muss "richtig" eingestellt sein?
Ich habe z.B. das Problem bei der Aktualiserung von Bildern, die den selben Dateinamen haben - da dauert es auch immer einige Stunden, bis der Browser diese neu lädt. Es sei den der User drückt ein paar Mal F5 (unter Windows).
Wenn ich den Dateinamen ändere, wird das Bild sofort neu geladen und angezeigt (klar, ist für den Browser ja ein neues Bild).
 

Duddle

Posting-Frequenz: 14µHz

AW: Seite beim laden automatisch aktualisieren?

Firefox/ein Browser schickt per sein zuletzt bekanntes Änderungsdatum zum Server. Falls die Ressource ein späteres Änderungsdatum hat (ergo es wurde inzwischen geändert), schickt er die Ressource plus ein Last-Modified im Header (dass dann das nächste If-Modified-Since wird), ansonsten nur ein "304 Not Modified".

Firebug zeigt im Netzwerk-Tab jeweils die Anfrage- und Antwort-Header an, also kannst du diese Schritte nachvollziehen und sehen ob der Browser es richtig schickt und der Server es richtig beantwortet.


Duddle
 

Milly

Nicht mehr ganz neu hier

AW: Seite beim laden automatisch aktualisieren?

Wichtig ist vor allem die Einstellung im Browser!

Beispiel IE:
  • Extras
  • Internetoptionen
  • Registerkarte "Allgemein"
  • Browserverlauf -> Einstellungen
  • Neuere Versionen der Webseite suchen:
  • Auswahl auf: "Bei jedem Zugriff auf die Webseite"
Beim Firefox ist es ähnlich.

Grüße
Milly
 

clown67

bildermixer

AW: Seite beim laden automatisch aktualisieren?

@ Milly
Wichtig ist vor allem die Einstellung im Browser!
Geht leider nicht, da ich den Besuchern der Seite nicht vorschreiben kann, wie sie ihren Browser einstellen sollen.


@ Duddle

Habe es mit Firebug getestet, demnach sieht es so aus als ob alles ok ist. Hab ein Bild davon hochgeladen:

Funktioniert das nur, wenn ich im header die oben genannten Tags einfüge? Denn ohne diese, wird die Seite auf alle Fälle aus der Cache geladen, zumindest bei Firefox.

Gruß
clown67
 

Duddle

Posting-Frequenz: 14µHz

AW: Seite beim laden automatisch aktualisieren?

Naja, die Datei wurde eben zuletzt am 20. September um 22:05 geändert. Falls das nicht mit dem Zeitpunkt auf dem Server übereinstimmt (kannst du dir ja per Konsole anzeigen lassen), würde ich wohl in die Apache-Konfiguration schauen. Vielleicht ist da irgendein Modul oder eine Einstellung falsch.


Duddle
 

Milly

Nicht mehr ganz neu hier

AW: Seite beim laden automatisch aktualisieren?

@ Milly

Geht leider nicht, da ich den Besuchern der Seite nicht vorschreiben kann, wie sie ihren Browser einstellen sollen.


Dann haben die User Pech. Wer dort in seinem Browser unendlich lange Cache-Zeiten einstellt, wird deine neue Webseite nie sehen. So ist das halt!

Mit Apache-Einstellungen usw. hat das alles gar nix zu tun. Der Webserver - egal ob Apache oder sonst was - schickt sowieso die neueste Seite raus. Wenn der Browser, der die Seite entgegen nimmt, aber meint das er die Seite aus seinem eigenen Cache holt (weil dieser noch nicht expired ist), dann sehen die User halt noch die alten Seiten.
Mit diesen Tricks versuchen Microsoft, Firefox und Co. hohe Übertragungsgeschwindigkeiten "vorzugauckeln" - es ist natürlich schneller Seiten von der eigenen Festplatte anzuzeigen als diese herunterzuladen.

Grüße
Milly
 

clown67

bildermixer

AW: Seite beim laden automatisch aktualisieren?

Mit diesen Tricks versuchen Microsoft, Firefox und Co. hohe Übertragungsgeschwindigkeiten "vorzugauckeln" - es ist natürlich schneller Seiten von der eigenen Festplatte anzuzeigen als diese herunterzuladen.
Leider ist das so.:mad:

Deshalb suche ich ein Script, das den Browser dazu zwingt die neue Seite zu laden.

Gruß
clown67
 

Digicam

weitestgehend nur noch lesend

AW: Seite beim laden automatisch aktualisieren?

Ich hab bei Firefox 10 MB Cache eingestellt und beim IE, dass er automatisch nach neuen Seiten sucht.

Damit hatte ich noch nie Problme mit veralteten Informationen.

Jetzt kommt's auch nocht drauf an, was der Browser als "neu" definiert. Wenn beim Änderungsdatum nur wenige Minuten liegen, muss das Bild oder die Seite für den Browser nicht unbedingt neu sein.

Funktioniert das nur, wenn ich im header die oben genannten Tags einfüge? Denn ohne diese, wird die Seite auf alle Fälle aus der Cache geladen, zumindest bei Firefox.

Wenn Du einen Überblick hast, in welchem Turnus die Seiten aktualisiert werden, kannst Du das ja mit den Tags einstellen.

Und das für jede Seite individuell. Es ist sicher nicht sinnvoll, das Impressum nicht zu cachen. Da ändert sich vielleicht ein Mal im Jahr was. Wenn überhaupt.

Das Caching mit den Tags auf Null zu setzen, ist nicht klug. Wenn Du das auf jeder Seite machst, wird jede Seite, jedes Bild, einfach alles bei jedem Aufruf neu vom Server geholt. Und das kostet Geschwindigkeit. Damit vergraulst Du Dir auch Besucher, weil es einfach zu lange dauert, die Infos zu holen.
 

Duddle

Posting-Frequenz: 14µHz

AW: Seite beim laden automatisch aktualisieren?

Der Webserver - egal ob Apache oder sonst was - schickt sowieso die neueste Seite raus. Wenn der Browser, der die Seite entgegen nimmt, aber meint das er die Seite aus seinem eigenen Cache holt (weil dieser noch nicht expired ist), dann sehen die User halt noch die alten Seiten.

Das ist falsch.

Das kannst du ganz einfach testen, indem du dir mit einem geeigneten Tool den Traffic zwischen deinem Rechner und einem Webserver anzeigen lässt. Als Beispiel habe ich das mal lokal gemacht und mir die Antworten des Webservers per tcpdump in Kurzform anzeigen lassen:
Code:
IP localhost.www > localhost.59610: tcp 16384
IP localhost.www > localhost.59610: tcp 16384
IP localhost.www > localhost.59610: tcp 16384
IP localhost.www > localhost.59610: tcp 8421
Das ist der Antwort-Header + ein 55kB großes Bild. Direkt danach habe ich das erneut angefordert, ohne es zu modifizieren:
Code:
IP localhost.www > localhost.59610: tcp 228
Das ist der Antwort-Header (mit 304 drin). Von insgesamt 57573 zu 228 Byte, eine Ersparnis von gut 99%.

Es wäre also eindeutig kontraproduktiv, wenn ein Server unabhängig von der Anfrage stets alle Daten übertragen würde. Warum sollte es sonst Caches geben, wenn die eh keiner benutzt? L1-Caches und L2-Caches und TLB-Buffers und Festplatten-Caches usw. bis hin zu Browser-Caches sind alle notwendig, um dem Rechner (oder im letzten Beispiel, dem Netz) doppelte Arbeit zu ersparen.



Duddle
 

Milly

Nicht mehr ganz neu hier

AW: Seite beim laden automatisch aktualisieren?

@Duddle

Kann ich so nicht nachvollziehen.

Kleines Beispiel:
Ich ändere meine Webseite. Starten den Browser und stelle beim Cache "Automatisch" oder einmal täglich ein. Es wird die alte Webseite angezeigt und nicht die neue.

Ich ändere die Browser-Einstellung auf "Bei jedem Zugriff auf die Seite" und die neue Webseite wird angezeigt.

Grüße
Milly
 

clown67

bildermixer

AW: Seite beim laden automatisch aktualisieren?

Hallo Zusammen,

habe heute auf besagter Seite die Termine aktualisiert und die Seite auf den Server geladen, beim aufrufen der Seite mit Firefox 6.0.2 erschien, wie gehabt, die alte Seite. :(
Und laut der mit Firebug ausgelesen Daten, war keine neuere Version der Seite auf den Server, siehe Bild
Erst nach dem ich die Seite aktualisiert habe, wurde die aktuelle Seite angezeigt.

Nun ist mir aufgefallen, das scheinbar zwei verschiedene Schreibarten der Meta-Tags gibt:
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="pragma" content="no-cache" />
ist das relevant?

Dann habe ich diesen Meta-Tag gefunden:
<meta http-equiv="cache-control" content="max-age=0, no-cache, must-revalidate">
Ist der so einsetzbar?

Danke und Gruß
clown67
 
Zuletzt bearbeitet:

Digicam

weitestgehend nur noch lesend

AW: Seite beim laden automatisch aktualisieren?

Der Slash am Ende kann relevant sein. Je nach dem, ob Du in der ersten Zeile in Deinem Quellcode XHTML oder HTML definiert hast:

Wenn das drin steht:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
brauchst Du den Slash am Ende.

Sieht das ganze so aus:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
musst Du den Tag ohne Slash nehmen.
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Seite beim laden automatisch aktualisieren?

Hmmm, bei mir wurde die korrekte, neue Seite geladen und das richtige Last-Modified vom Server geschickt.

Kannst du die Seite frei editieren? Oder musst du über irgendein CMS rein? Alternativ: Kannst du auf dem Server Dateien anlegen und löschen? Falls ja, würde ich wohl an deiner Stelle Schritt für Schritt debuggen und Fehlerquellen ausschließen.

Das heißt, ich würde zuerst alle Cache-relevanten Tags in der Seite entfernen, dann jeweils ein neues Tag hinzu fügen, die Seite mit geleertem Browser-Cache laden, neu laden, die Seite leicht verändern (reicht ja schon ein unsichtbarer Kommentar im Quellcode) und abspeichern, dann wieder neu laden und falls du die neue kriegst nochmal neu laden. Bei den 4 Lade-Zyklen jeweils die Reaktion (welcher Status-Code: 200 oder 304? welches Last-Modified? was schickt der Browser?) aufzeichnen.

Ich vermute, dass der Grund entweder eine seltsame Apache-Konfiguration ist oder einer der Tags. Nachdem ich jetzt gut 10 zufällige, andere Seiten ausprobiert habe, sehe ich jedenfalls immer ein 200 für die statischen HTML-Seiten, egal ob sie von PHP generiert werden oder nicht und stets ohne die diskutierten Cache-relevanten Tags.


Duddle
 

clown67

bildermixer

AW: Seite beim laden automatisch aktualisieren?

@ Digicam

Kleine Ursache, große Wirkung! Der Quellcode ist in XHTML definiert, also brauche ich den Slash am Ende. Habe es gestern Abend geändert und es funktioniert. Heute morgen neue Seite eingestellt, aufgerufen und die neue Seite wurde dargestellt. Bei Anderen scheint es auch zu funzen, siehe den Beitrag von Duddle.

Danke für den Tipp! Habe das heute mal gegoogelt und nichts gefunden, da hätte ich noch lange grübeln können.


@ Duddle

Danke für die Mühen, doch so wie es aussieht, ist das Problem gelöst.


Dank und Gruß
clown67
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.636
Beiträge
1.538.484
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben