Welche Gründe gibt es, um das maximale Alter eines Logos auf nur 8 Tage zu reduzieren?

8

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-ageLebensdauern, 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-ageWert des Server gesendet , wenn die URL ursprünglich angefordert wurde, es ist eine Heuristik auf der ‚Basis frecency ‘ von Anfragen für diese URLmax-ageLassen 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;)

Callum
quelle
4
Die einzige Möglichkeit, eine Antwort zu erhalten, die nicht mit "Wahrscheinlich weil" beginnt, besteht darin, Google zu fragen. Alles andere wird nur Spekulation sein.
Walter
5
Ihre Bearbeitung ändert nichts an der Tatsache, dass nur Google Ihnen eine genaue Antwort geben kann.
Walter
3
Ich stimme zu, es kann gültige technische Gründe dafür geben, und das 8-Tage-Limit von Googles ist ein gutes Beispiel. (obwohl ich nicht 100% sicher bin, ob die Frage hier oder auf
StackOverflow
3
@ Walter: Ich bin anderer Meinung. "Kann sich jemand einen Grund vorstellen, warum er die Cache-Lebensdauer auf nur 8 Tage reduzieren möchte?" - Ich frage nach einem vernünftigen Grund, warum ein Web-versiertes Unternehmen dies tun möchte. (Natürlich würde ich die Frage nicht stellen, wenn es nur irgendeine Website wäre, aber Google macht es, was mich fragt, ob es eine wichtige Lücke in meinem Wissen geben könnte.)
Callum
4
Ich denke, diese Frage ist in die nicht konstruktive Zone geraten.
Ryathal

Antworten:

5

Durch die Einstellung max-agevon 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:

  1. 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.

  2. 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.

Google-Logo

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.

Caleb
quelle
1

Wahrscheinlich, weil sie das Logo oft ändern, wenn sie eine Persönlichkeit oder ein Ereignis feiern.

m3th0dman
quelle
8
Dies kann nicht der Grund sein, da jedes der von ihnen verwendeten Logos eine eigene URL hat, sodass eine Reduzierung der Caching-Dauer keinen Vorteil bringt.
Dan D.
3
Danke, aber bitte lesen Sie meine Bearbeitung, warum diese Antwort falsch ist.
Callum
-4

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.

Pieter B.
quelle
2
Danke, aber das ist falsch; siehe den zweiten Aufzählungspunkt in meiner Bearbeitung.
Callum
1
Ich verstehe nicht, warum dies nicht als Höflichkeitsinformation angesehen werden kann. Ihr Aufzählungspunkt scheint diese Möglichkeit zu verallgemeinern und auszuschließen.
Lars Viklund
1
Weil es irreführend ist. Aktive Web-Caches sind immer voll und werden ständig ausgelastet. Daher ist die Vorstellung, dass sich ein Webentwickler möglicherweise Sorgen machen muss, um die Caches der Clients zu füllen, einfach falsch.
Callum