2023-04-26

TBSニュースサイトヤバない?(追記)

はてぶの上位にちょいちょい載ってるTBS系のニュースサイト、newsdig.tbs.co.jpについて。

https://b.hatena.ne.jp/site/newsdig.tbs.co.jp/


何がヤバいかって、くっそ巨大なCookie(LocalStorageとかも含むのか知らんけど)をしこたま保存してんのよ。

気付いた時点では640MB占有してた。別に巡回チェックしてるわけでもなく、話題に挙がってたら見てみることもある程度のアクセス頻度なのだが。

Chromeユーザーアドレスバーに↓コピペして確認してみてくれ。

chrome://settings/content/all?searchSubpage=tbs.co.jp&search=cookie


試しにCookie消去してから、ただ開いただけでサイト上で何の遷移もしてないのに279MBも保存された。


次点ではpresident.jpが553MB消費してた。(こっちも話題に挙がってたら見てみることもある程度。)

(その次にはGoogleが数百MBオーダーで消費してたけど、これはGoogleドライブのオフラインキャッシュとか考えれば妥当。他に数百MBオーダーで消費してるサイトは無かった。)


多くのサイトは数バイトKBオーダーなのに、こいつら何保存してんのか不気味すぎる。


(追記)

各自環境消費量を教えてくれた方々や有意義コメントを下さった方々ありがとうございます

始めにお断りしておくべきだったかもしれませんが、自分ソフトウェア系ではありますが、Webエンジニアではありません。認識が浅かったり、古かったり、そもそも間違ってる可能性もあります

CookieじゃなくてCacheStorageやんけと突っ込みもいただいていますが、「LocalStorageとかも含むのか知らんけど」と書いておいた意図は(どのような技術要素かはどうでもよくて)ユーザー端末に保存されるデータボリュームについての話を意図していますChromeCookie絡みの設定画面での表示なのでこのような書き方をしましたが、解り難かったのならごめんなさいね冗長ながらも認識齟齬を招かないように平易な表現で書くと、「ユーザの明示的な承諾なくユーザー端末に保存されるデータデカイんだが」って話です。


で、各自環境で「ユーザの明示的な承諾なくユーザー端末に保存されるデータ」が数GBオーダーにも及ぶという事例が少なからず報告されて、自分環境だけではない事象だということが判りました。

さらtbspresident以外にもいくつかのサイトが同様に肥大化していることも知れました。


結果的にはid:hinaloeさんの解説が解りやすかったです。ありがとうございます

https://blog.hinaloe.net/2023/04/27/chrome-too-large-cache-storage/

CacheStorageがChromeの表示と、実際のディスク消費量と一致していないことが原因である理解しました。

追試してみたところ私の環境ではChrome開発者ツールでの表示が74MBで実際のWindowsファイルシステム上は33.9MB消費されました。

実際のストレージの消費は表示値の半分程度ということになり、id:hinaloeさんの1.4GBに対して5MBのように実際の約0.3%という結果とは大きく乖離がありますので、各環境で大きく違いそうな気がします。

気になる方は↓を各自確認いただくとよいかと思います

%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Service Worker\CacheStorage

配下のどのディレクトリ対象サイトのものなのか一意に特定する情報が無さそうなので、Chrome開発者ツールApplicationタブの左上の方にあるService Workersを選択すると、右側にReceived YYYY/M/D HH:MM:SSみたいな表記が有るので当該時刻に変更されたタイムスタンプを持つディレクトリ特定するような感じになるかと思います


ついでに開発者ツールを触っていて気付いたベースで書いておくと、

といった感じで、ユーザが見たものキャッシュしているのではなくて、先読みしてるような挙動に思えます

ロード時間短縮でUX改善を狙ったものかもしれませんが、個人的にはそれを1か月も保持し続けるのは過剰な感じがしますが世の中的にはどうなんでしょうね?

あと、スマホ場合挙動どうなってんすかね?


(追記2)

hinaloe氏の投稿で紹介されているStackOverflowの投稿やそのリンク先のChromiumバグレポートのやり取りまで目を通してみると、特に理由説明なく平均7MBがパディングされると書かれた投稿があります

https://stackoverflow.com/questions/39109789/what-limitations-apply-to-opaque-responses

https://bugs.chromium.org/p/chromium/issues/detail?id=796060


該当するソースコードは↓のようです。

https://source.chromium.org/chromium/chromium/src/+/main:content/browser/cache_storage/cache_storage_cache.cc

この中で、ComputeRandomResponsePadding()という関数を呼び出しておりその実体は↓のようです。

https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:storage/common/quota/padding_key.cc;drc=332f92aab4a32607f7813ac1a824f6ff0d86c369;l=47


この関数符号無し64bit整数乱数(つまり、0~18446744073709551615のいずれか)を14431 * 1024 = 14777344で割った剰余(つまり、0~14777343≒約14MiB)を返却します。

これがパディング値として採用されることになりますが、乱数正規分布している前提で、平均すると(最大値14MiBの半分で)約7MBになるよねってことだと思われます


故にChromeの設定画面から確認できるCookie等(LocalStorageとかCacheStorageとか諸々含む)のサイズは、概算してCacheStorageに存在するファイル数×平均7MBが過大計上されていることになりそうです。

これでChromeの設定画面から確認できるサイズと、実際のファイルシステム上で消費されているサイズの違いは合理的説明できますが、TBS等の特定サイトだけデカみえ理由説明にはならないのです。

まり、以下のような可能性がありそうです。

  1. Chromeの設定画面から確認できるサイズほど巨大ではないが(他のサイト比較して)相対的デカイ?
  2. ComputeRandomResponsePadding()の結果が顕著にデカくなる乱数が生成される個別要因がある?
  3. それ以外

なんなんすかね?

  • トラッカー系の情報が蓄積されている風に見えるが私の環境では 13MB 程度で頭打ちだ。 数百メガバイトはいくらなんでも異常なのでサイト実装側で想定してないなんらかの条件が重なっ...

    • 何度か試してみたところ数百KBに留まったこともあるのですが、多くの場合私の環境ではアクセスしただけで100MB以上保存されます。 変なブラウザ拡張機能も入れて無い(EvernoteとGmailくら...

    • テレビ局のニュースサイトと新聞社のニュースサイトだと設計思想が異なるのは当然だからなあ。

  • 何か変な機能拡張入れてない?

  • 3.7 GBだった...

  • これChromeのアップデートによる仕様変更のせいではないかって前から疑ってる

  • その表示はクッキーだけじゃなくいわゆるブラウザキャッシュを含むよ Chromeだとクッキーの項目から飛べるのがぜんぶ悪い

  • もう修正されてんのかもしれんが巡回しても1.1KBしか入んないや ちゃんとublockは切って念のため再起動してからアクセスしたで

  • Cookie AutoDeleteを使おう https://chrome.google.com/webstore/detail/cookie-autodelete/fhcgjolkccmbidfldomjliifgaodjagh https://addons.mozilla.org/ja/firefox/addon/cookie-autodelete/

  • この記事書いたの自分かと思ったぐらい同じこと思ったわ amazon上で検索すると無限リダイレクトするから、cookie消そうと思って chrome://settings/content/all にアクセスしたらTBSとプレジデン...

  • 今試したけど1回目は135KBだけどリロードすると250MBぐらい食うな リロード時に動画データ丸ごと保存してるのかな 「サードパーティの Cookie をブロックする」と「閲覧トラフィックと...

    • 情弱はクソブラウザ使ってcookieまで拒否しないといかんのやから大変やね

  • Braveでも2Gあった。ってか1G近くあるサイトたくさんあったぞ。なんだこれ?

  • Braveでも2Gあった。ってか1G近くあるサイトたくさんあったぞ。なんだこれ?

  • 3.9Gもあった

  • 1億GBだった

  • じゃあ俺は10000000000兆ペタバイト!!

  • 5.2GBあった。

  • Cache storage がほとんどだった。 動画のキャッシュでも入れてんじゃね?

    • サイズが大きくなってるのはこれだよね。 トップページ内に YouTube の newsdig の live stream が埋め込まれてて 表示したままにしとくとどんどんどんどん動画のキャッシュが溜まる。 YouTube ...

  • 常にシークレットモードだからまったく気にしていないな。 chrome.exe --incognito これ、最強。

  • CacheStorageが肥大化することはよくあるのだが、実はこれ、外観上のサイズと実際のストレージサイズは連動していない。 実際に保存されている内容は多くても数MB、大半は1MB未満のファ...

  • それが流行りのPWAってやつちゃうか? 要はオフライン状態でもダウンロードされてるニュースがちゃんと観れるようになるやつ。 ブラウザ側では、空きディスクの90%まで使えたり、10GB...

  • 4.1GBだったんだが・・・

  • chromeで見たけど13Bだったけど? 広告とか動画の容量も読み込んでるんじゃないの????

  • え? CookieってHTTPヘッダーで送受信してるアレだろ? それが本当なら、1リクエストのたびにアンタのブラウザは数百メガバイト送信してることになるじゃん。 1ページ開くのにどんだけ...

  • 調べてくれた人がいるよ。firefox使え Cache Storage がめちゃくちゃ肥大化する問題について調べる | ぴんくいろにっき https://blog.hinaloe.net/2023/04/27/chrome-too-large-cache-storage/

    • Firefox にするのも別にいいけど、表示の問題ならそもそも変える必要なくない?

  • チョコチップクッキー食べたい

  • たまによく電源繋げてないMacBookでChromeがバッテリー使いすぎてますって警告でるけど、アプリとしてめちゃくちゃメモリ使うような仕様なんかな

  • こないだまでちょっと見ただけで600MBは溜まってたけど今見たら161B。ついでに指摘されてたプレジデント・オンラインのキャッシュも全然貯まってなかった。 この増田がバズったおかげ...

    • セキュリティのためにキャッシュの大きさ偽装してるとかいう話だからブラウザ側?

  • 順位 ブクマ タイトル カテゴリー 1 2067 ゲームさんぽの次に見るべきYouTubeの教養コンテンツ 増田 2 2048 家を建てたときのはなし(追記あ...

    • お疲れ様です

    • カテゴリー違くね? タグじゃね

    • 保存用コメント

    • No. ブクマ数 タイトル カテ(タグ) 備考 1 1429 ホストやってたけど普通はサイコパスになれんよ 増田 2 1327 東京に住んでいない俺がどこで文化を享受しているか ...

      • お疲れ様です!

      • 俺の書いたの、一つも入ってなくて草 俺の人生は文学じゃないんだなぁ ちょっとは気の利いたこと書くか

        • 投稿時間帯とか2-3ブクマがつくのを18時頃の人が集まってくる時間帯にするとか工夫してみたら? 曜日は金曜土曜のスマホ触ってそうな人が多そうな曜日にして あとよかったらリンク貼...

          • ブクマは数100とかは付くけど、ネタ増田とかが多いからかな 自分のネタはもう尽きた 書いた増田↓ おパンツとは言うのにおブラジャーとは言わないのは国難 https://anond.hatelabo.jp/2023112...

            • ブクマ700の経験あるけど、過去の知見を使ったお役立ち情報増田だったので、 こういうサラッとした短文ネタ増田で支持を得られるのは尊敬するわ おパンツはわざとらしすぎてゴミカス...

            • 売れない芸人の大喜利レベルだよな。もっと役に立つ記事とか勉強になる記事とか書けよ。低学歴か。

      • 増田文学まとめって2022年だけ抜けてるんだよな 誰かまとめてくれないかな、俺は技術力も読解力も不足してるのでパス

        • 簡単にパスしないでくれ 文句だけ言ってフリーライドするのは今日でやめにするのだ ①スクレイピングツールoctpusで「https://b.hatena.ne.jp/entrylist?url=https%3A%2F%2Fanond.hatelabo.jp%2F2022&sort=coun...

      • 4本入ってた。去年は低調だったかな。 今年はもっと頑張ろう。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん