Die meisten Websites setzen max-age=31536000
(1 Jahr) auf die Cache-control
Überschriften statischer Assets wie Logo-Bilder. Beispiele:
Es gibt jedoch eine bemerkenswerte Ausnahme: Das Google-Logo hat max-age=691200
(8 Tage).
Ich habe in der Vergangenheit die Überschriften auf dem Google-Logo überprüft und es war definitiv 1 Jahr. (Früher war es Teil eines Sprites, und jetzt ist es ein eigenständiges Logo, aber das ist wahrscheinlich eine andere Frage ...)
Was könnten gültige technische Gründe sein, warum sie die Cache-Lebensdauer auf nur 8 Tage reduzieren möchten? Die Google-Startseite ist eine der am besten optimierten Seiten der Welt. Ich kann mir also vorstellen, dass es einen guten Grund dafür gibt.
Bearbeiten:
Bitte stellen Sie sicher, dass Sie diese Punkte verstanden haben, bevor Sie antworten:
Niemand nutzt kurze
max-age
Lebensdauern, um in Zukunft ein statisches Asset ändern zu können. Wenn Sie es ändern, stellen Sie es einfach unter einer anderen URL bereit. Also nein, es hat nichts mit Google Doodles zu tun. Denken Sie daran: auch wenn Google nicht diesen grundlegenden Trick von HTTP verstehen, 8 Tage immer noch nicht angemessen sein, da nur die Benutzer , die nicht das Original - Logo haben zwischengespeichert würde das Doodle auf doodle-Tag sehen - und dann Diese Gruppe von Nutzern würde das Doodle für die folgenden 8 Tage sehen, nachdem Google es wieder geändert hat :)Webserver sorgen sich nicht darum, die Caches von Clients (oder Proxys) zu "füllen". Der Client verwaltet dies selbst. Wenn er sein eigenes Speicherlimit erreicht, werden nur die Elemente mit der niedrigsten Priorität gelöscht, um Platz für neue Elemente zu schaffen. die Prioritätsbewertung wird basiert auf der Frage „Wie wahrscheinlich ich von zu profitieren sind diese URL im Cache gespeichert zu haben?“, die nichts mit dem zu tun, was
max-age
Wert des Server gesendet , wenn die URL ursprünglich angefordert wurde, es ist eine Heuristik auf der ‚Basis frecency ‘ von Anfragen für diese URLmax-age
Lassen Sie den Server einfach einen Grenzwert festlegen - den Zeitpunkt, zu dem der Client das Element verwerfen soll, unabhängig davon, wie oft es wiederverwendet wird. Es wäre sehr nett und vertrauensvoll von einem nachgeschalteten Client / Proxy, sich darauf zu verlassen, dass Ursprungsserver ihre Caches nicht auffüllen, aber ich glaube nicht, dass wir in dieser Welt leben;)
Antworten:
Durch die Einstellung
max-age
von 8 Tagen anstelle von 1 Jahr hat Google eine bessere Kontrolle darüber, wie es sich der Welt präsentiert. Sie haben Recht, dass sie einfach eine andere URL für temporäre Änderungen wie das Google-Doodle verwenden können. Wenn sie jedoch der Meinung sind, dass sie die Darstellung ihres echten Unternehmenslogos ändern möchten, ist es aus zwei Gründen sinnvoll, eine kürzere Ablaufzeit zu verwenden:Alle Verweise auf das Logo auf einer der vorhandenen Seiten ändern sich automatisch. Sie müssen nicht geändert werden, um eine andere URL zu verwenden.
Auf den unzähligen Webseiten von Drittanbietern, auf denen das Google-Logo geladen wird, wird die neue Version nach maximal 8 Tagen automatisch angezeigt.
Darüber hinaus sorgen längere Verfallszeiten für sinkende Renditen. Ohne Caching kann ein typischer Nutzer das Google-Logo tausendmal oder öfter pro Jahr laden. Ein Ablauf von 8 Tagen reduziert dies auf 46 Mal pro Jahr. Ein Ablauf von 1 Jahr reduziert dies weiter auf möglicherweise nur 1 Mal pro Jahr. Der mit Abstand größte Vorteil scheint auf die Tatsache zurückzuführen zu sein, dass das Bild überhaupt zwischengespeichert wird - das Zwischenspeichern für nur 1 Tag bietet einen enormen Vorteil, und das Zwischenspeichern für 8 Tage verlängert dies etwas.
Das Bild oben ist nur 7007 Byte groß. Wenn Sie das alle 8 Tage laden, laden Sie im Laufe eines Jahres 312 Kilobyte ihres Logos. Das ist wirklich nicht viel als Prozentsatz aller Daten, die Sie von Google laden, und die guten Leute bei Google haben anscheinend entschieden, dass die Flexibilität, die sie durch den Ablauf von 8 Tagen erhalten, wichtiger ist, als diese Zahl weiter zu reduzieren. Wenn sie anders dachten, können Sie wetten, dass sie eine längere Ablaufzeit verwenden würden.
Ich arbeite nicht bei Google, und selbst wenn ich es tun würde, wäre ich wahrscheinlich nicht in der Lage, ihre Argumentation mit Sicherheit zu kennen, daher ist das oben Genannte etwas spekulativ. Die wirkliche Antwort könnte so einfach sein wie: Es schien damals eine gute Idee zu sein . Trotzdem gibt es offensichtlich einen Kompromiss zwischen der Minimierung des Datenverkehrs und der kreativen Kontrolle, und ich denke, wir können anhand der Ablaufzeit erkennen, dass Google verwendet, wo diese Grenze gezogen werden soll.
Ich denke auch, dass es erwähnenswert ist, dass Google nicht irgendein Logo ist: Es ist das Hauptmerkmal auf ihrer wichtigsten Webseite, und die Präsentation ist etwas, bei dem sie bekanntermaßen sehr vorsichtig sind. Die anderen von Ihnen erwähnten Websites (BBC, YouTube, Twitter und Yahoo) enthalten alle ihr Logo auf ihrer Hauptseite, aber in jedem Fall ist das Logo kleiner und ein viel weniger wichtiges Element der Seite als das von Google. Google hat im Laufe der Jahre auch eine Reihe von Änderungen an seinem Logo vorgenommen (nein, ich spreche nicht von Kritzeleien), und es gibt keinen Grund zu der Annahme, dass sie es nicht noch einmal tun werden.
quelle
Wahrscheinlich, weil sie das Logo oft ändern, wenn sie eine Persönlichkeit oder ein Ereignis feiern.
quelle
Wahrscheinlich, weil sie ihr Logo häufig ändern: Caching-Server sind voll mit Google-Logos, die nicht verwendet werden. Durch diese Einstellung entfernen Caches das Logo früher aus ihrem Speicher.
quelle