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
78
はてなスターにおける静的ファイル配信の話
tkzwtks
June 23, 2023
Tweet
Share
More Decks by tkzwtks
See All by tkzwtks
ちょっぴりDiveDeepするAWSの時間 AWS Dev Day 2023 Tokyo 延長戦 実践データ移行 〜はてなダイアリーや魔法のiらんどの事例と共に〜
tkzwtks
0
79
YAPC::Kyoto 2023 LT Perlブートキャンプご紹介
tkzwtks
0
1.1k
Hatena Engineer Seminar #14 魔法のiらんど データ移行編 〜新旧システム間のデータマイグレーション時に我々が考えること〜 / hatena-engineer-seminer-number-14-data-migration
tkzwtks
0
1.5k
レガシーシステムからのデータマイグレーションあれこれ
tkzwtks
4
1.6k
hatena-engineer-seminar-10
tkzwtks
0
2.2k
Other Decks in Technology
See All in Technology
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
3
570
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
580
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
130
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
260
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
On Your Data を超えていく!
hirotomotaguchi
2
740
Cracking the KubeCon CfP
inductor
2
260
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1.1k
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
2
270
【SORACOM UG 東海】あらゆるモノがつながる社会へ、IoT と SORACOM
soracom
PRO
1
130
Cypress or Playwright?
rainerhahnekamp
0
160
MapLibreとAmazon Location Service
dayjournal
1
170
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
17
1.6k
Into the Great Unknown - MozCon
thekraken
13
1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
Statistics for Hackers
jakevdp
790
220k
Optimizing for Happiness
mojombo
370
69k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
BBQ
matthewcrist
80
8.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Designing with Data
zakiwarfel
96
4.8k
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