ロゴの最大有効期間をわずか8日に減らす理由は何ですか?


8

ほとんどのWebサイトは、ロゴ画像などの静的アセットmax-age=31536000Cache-controlヘッダーを設定します(1年)。例:

ただし、注目すべき例外があります。Googleのロゴにmax-age=6912008日間あります。

私は過去にGoogleロゴのヘッダーを確認しましたが、以前は間違いなく1年でした。(また、以前はスプライトの一部でしたが、現在はスタンドアロンのロゴ画像ですが、おそらく別の質問です...)

キャッシュの有効期間をわずか8日間に減らしたいと思う正当な技術的理由は何でしょうか?Googleのホームページは、世界で最も慎重に最適化されたページの1つなので、正当な理由があると思います。


編集:

回答する前に、これらの点を理解しておいてください。

  • max-age静的アセットを将来変更できるようにするために、短いライフタイムを使用する人はいません。変更する場合は、別のURLで提供するだけです。いいえ、Google Doodleとは関係ありません。考えてみてください。GoogleがこのHTTPの基本的なトリックを理解していなかったとしても、元のロゴがキャッシュされていないユーザーだけがdoodle-dayにDoodleを目にするため、8日間は適切ではありません。そのユーザーグループは、GoogleがDoodleを変更してから8日間、Doodleを見続けていました:)

  • Webサーバーはクライアント(またはプロキシ)のキャッシュを「いっぱいにする」ことを心配していません。クライアントは自分でこれを管理します。自身のストレージ制限に達すると、優先度が最も低いアイテムをドロップし始め、新しいアイテムのためのスペースを作ります。優先度スコアは、「このURLをキャッシュしたことによるメリットはどれくらいありますか?」という質問に基づいています。これはmax-age、URLが最初に要求されたときにサーバーが送信した値とは関係ありません。これは、「頻度」に基づくヒューリスティックです。そのURLに対するリクエストの数です。max-age単にサーバーがカットオフポイントを設定できるようにします。これは、アイテムが再利用される頻度に関係なく、クライアントがアイテムを破棄することになっている時間です。ダウンストリームのクライアント/プロキシがキャッシュをいっぱいにするのを「控え」に頼るのは、とてもいい信頼できることですが、私たちはその世界に住んでいるとは思いません;)


4
「たぶん理由」で始まらない答えを得る唯一の方法は、Googleに尋ねることです。それ以外はすべて単なる推測です。
Walter、

5
あなたの編集は、Googleだけがあなたに正確な答えを与えることができるという事実を変えません。
Walter、

3
そうすることに正当な技術的理由があるかもしれませんし、Googleの8日間の制限は良い例です。(質問がここにあるのかStackOverflowにあるのかは100%
わかりませんが

3
@ウォルター:私は同意しません。「キャッシュの有効期間を8日間に減らしたい理由を誰かが思いつくだろうか?」–私は、Webに精通した会社がこれを行うことを望む合理的な理由を求めています。(もちろん、それが単なるWebサイトであるかどうかは質問しませんが、Googleが行っているため、私の知識に重要なギャップがあるのではないかと思います。)
callum

4
この質問は建設的でないゾーンに流れ込んだと思います。
Ryathal 2012年

回答:


5

max-ageを1年ではなく8日に設定すると、Googleが自分自身を世界に提示する方法をより適切に制御できます。Google Doodleのように一時的な変更に別のURLを使用するだけでよいのは当然ですが、実際の企業ロゴの表示方法を変更したいと考える場合は、次の2つの理由により、有効期限を短くするのが理にかなっています。

  1. 既存のページのロゴへの参照は自動的に変更されます。別のURLを使用するように変更する必要はありません。

  2. Googleのロゴをロードする無数のサードパーティのWebページには、8日以内に新しいバージョンが自動的に表示されます。

さらに、有効期限が長くなると、利益が減少します。キャッシュがない場合、一般的なユーザーはGoogleのロゴを毎年1000回以上ロードする可能性があります。8日間の有効期限により、年に46回まで削減されます。さらに、1年の有効期限により、その可能性は毎年1回にまで減少します。明らかに、最大の利点のように思われるのは、画像がまったくキャッシュされるという事実によるものです。たった1日間のキャッシュで大きな利点が得られ、8日間のキャッシュでそれが多少拡大します。

Googleロゴ

上の画像のサイズはわずか7007バイトです。8日ごとにロードするということは、1年間で312キロバイトのロゴをロードすることを意味します。これは、Googleからロードするすべてのデータのパーセンテージとしてはそれほど多くありません。Googleの優秀な人々は、8日間の有効期限から得られる柔軟性が、その数をさらに減らすよりも重要であると判断したようです。彼らが別の考えを持っているなら、あなたは彼らがより長い有効期限を使うだろうに違いない。

私はグーグルで働いていませんし、たとえそうしたとしても、彼らの推論を確実に知る立場にはないので、上記はやや推論です。:として本当の答えは、単純なようなものになる可能性があり、それは一度に良いアイデアのように思えました。それにもかかわらず、トラフィックの最小化とクリエイティブコントロールの間には明らかにトレードオフがあり、Googleが使用した有効期限から、その線を描画したかったことがわかります。

また、Googleは単なるロゴではなく、最も重要なWebページの主な機能であり、プレゼンテーションは非常に慎重であることが知られているものです。あなたが言及している他のサイト(BBC、YouTube、Twitter、Yahoo)はすべてメインページにロゴが含まれていますが、いずれの場合も、ロゴは小さく、Googleのものよりもページの重要な要素ははるかに重要ではありません。Googleはまた、長年にわたってそのロゴに多くの変更を加えてきました(いいえ、私はDoodleについて話しているわけではありません)。彼らが再びそれをしないと考える理由はありません。


1

おそらく、性格や出来事を祝うときにロゴを頻繁に変更するためです。


8
それらが使用するロゴのそれぞれが異なるURLを持っているのでそれは理由ではあり得ないので、キャッシュ期間を短縮しても何の利益も与えません。
Dan D.

3
ありがとうございます。しかし、この回答が正しくない理由については、私の編集を参照してください。
12

-4

おそらく彼らは頻繁にロゴを変更しているためでしょう。キャッシュサーバーは、使用されていないGoogleロゴでいっぱいになります。この設定により、キャッシュはロゴをストレージからより早く削除します。


2
おかげで、これは間違っています。編集の2番目の箇条書きを参照してください。
カラム

1
これが優遇情報の一部と見なされない理由がわかりません。あなたの箇条書きは、この可能性を過度に一般化し、排除しているようです。
Lars Viklund、2012年

1
誤解を招くからです。アクティブなWebキャッシュは常に容量いっぱいで、常に混乱しています。そのため、Web開発者がクライアントのキャッシュを「いっぱいにする」ことを心配する必要があるかもしれないという考えは単に間違っています。
12
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.