Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
はてなスターにおける静的ファイル配信の話
Search
tkzwtks
June 23, 2023
Technology
0
94
はてなスターにおける静的ファイル配信の話
tkzwtks
June 23, 2023
Tweet
Share
More Decks by tkzwtks
See All by tkzwtks
データマイグレーションの成功戦略~サービスリニューアルで失敗しないための実践ガイド~
tkzwtks
6
690
ちょっぴりDiveDeepするAWSの時間 AWS Dev Day 2023 Tokyo 延長戦 実践データ移行 〜はてなダイアリーや魔法のiらんどの事例と共に〜
tkzwtks
1
97
YAPC::Kyoto 2023 LT Perlブートキャンプご紹介
tkzwtks
0
1.1k
Hatena Engineer Seminar #14 魔法のiらんど データ移行編 〜新旧システム間のデータマイグレーション時に我々が考えること〜 / hatena-engineer-seminer-number-14-data-migration
tkzwtks
0
1.7k
レガシーシステムからのデータマイグレーションあれこれ
tkzwtks
4
1.7k
hatena-engineer-seminar-10
tkzwtks
0
2.3k
Other Decks in Technology
See All in Technology
Slackbot × RAG で実現する社内情報検索の最適化
howdy39
2
340
テクニカルライターのチームで「目標」をどう決めたか / MVV for a Team of Technical Writers
lycorptech_jp
PRO
3
100
CData Virtuality を活かせるキーシナリオと製品デモ
cdataj
0
230
エムスリー全チーム紹介資料 / Introduction of M3 All Teams
m3_engineering
1
320
ゼロから実装まで!機械学習入門
natsuki0726
0
190
ADRを運用して3年経った僕らの現在地
onk
PRO
13
5.7k
【インフラエンジニアbooks】30分でわかる「AWS継続的セキュリティ実践ガイド」
hssh2_bin
4
1.7k
Semantic Kernel の Agent 機能試してみた!
okazuki
1
160
LINE-ChatGPT 倫理問題を整理する全力肯定彼氏くん [LuC4]に訪れたサービス開始以来の最大の危機
o_ob
2
160
WSUSが非推奨に!? Windowsの更新管理を改めて勉強する!
ebibibi
0
150
とある事業会社にとっての Kaggler の魅力
hakubishin3
5
710
コード✕AIーソフトウェア開発者のための生成AI実践入門~
yuhattor
4
850
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
How To Stay Up To Date on Web Technology
chriscoyier
787
250k
Happy Clients
brianwarren
97
6.7k
Designing for Performance
lara
604
68k
Optimizing for Happiness
mojombo
375
69k
Speed Design
sergeychernyshev
22
490
Scaling GitHub
holman
458
140k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
Atom: Resistance is Futile
akmur
261
25k
Designing the Hi-DPI Web
ddemaree
280
34k
Clear Off the Table
cherdarchuk
91
320k
Transcript
עיםتذ٭מֽׄ ꪐ氳نٜؒؕ鿥⟓ס鎇 id:tkzwtks
舅䄕磆☭ 2015 /
ئ٭لتوٚشعنؚ٭ّز٭ّ ♓㛙 / / ID ...
☪仼ס鎇 עיםتذ٭סؠٚؕؓ٤ع⻠״גꪐ氳نٜؒؕס鿥⟓ס鎇 אס☽סٝ؝ب٭ס鎇ג־זגחדזגׄלյֹױׂױכ״ם־זגסךյ׆ס䏲 ס䟏鈐⚡ךֽ鎇ױֹ !
עיםتذ٭ 2007 URL JS
ٛؼٖ٭ٜؓ 2022 1 Intelligent Tracking Protection Third Party Cookie JSONP
callback
䤗软氳ם鎋ַ鎇ע׆ה - Hatena Developer Blog https://developer.hatenasta .com/entry/ / / /
עיםتذ٭מֽׄ ꪐ氳نٜؒؕ鿥⟓ס鎇ס⯥מ
ꪐ氳نٜؒؕ鿥⟓قذ٭٤丝杼 S / GCS + CDN S / GCS +
עיםتذ٭ٛؼٖ٭ٜؓ
עיםتذ٭ٛؼٖ٭ٜؓ JSONP HatenaStar.js HatenaStar.js JSONP HatenaStar.js
釐♭ JSONP JSONP HatenaStar.js JSONP
⛼䡵 URL HatenaStar.js URL URL URL
⛼䡵 API
ؓ٭؞طؠزٔ
S + nginx = nginx nginx S S nginx
ْٛشع CORS Cache-Control VPC
ظوٞؕقؕوٚؕ٤ S putObject GHA main
؞ٔشبٖ
؞ٔشبٖמחַי䷉״י㰢ש ⯥䬠湳閁 HTTP RFC HTTP/ . : Caching
؞ٔشبٖ 二ؠٚؕؓ٤ع ˝ نٜؒؕ⺲ֿ㍾㲊מםזיַסעյٛٛ٭ت⯥עCache- Control: no-cache ˝ contenthashنٜؒؕ⺲מ⻠״יַסעꝎ״מ؞ٔش بٖ ˝
╈骰ֿ㚺זג侇מنٜؒؕ⺲ֿ㚺ג״յꝎ״מ؞ٔش بٖיゖ갭םַ
HatenaStar.js Cache-Control JSONP HatenaStar.js 1 Cache-Control: no-cache
nginx S If-None-Match/If-Modified-Since 304 nginx proxy_cache_revalidate nginx Last-Modified
ٛٛ٭ت䏲ס؞ٔشبٖ鐧丝
؞ٔشبٖ鐧丝 nginx S S If-None-Match GET/HEAD
؞ٔشبٖ鐧丝 nginx S S URL 1 / 30 URL contenthash
/ S
ױכ״ S nginx S /proxy