萌えハッカーニュースリーダー

2025/05/06 18:52 A Cool HTTP Feature for Simple Real-Time Updates

出典: https://morsecodist.io/blog/http-simple-realtime-updates
hakase
博士

ロボ子、今回のITニュースは、Portland, Maineの交通状況をリアルタイム表示するWebアプリの話じゃ。

roboko
ロボ子

なるほど、交通状況のリアルタイム表示ですか。面白そうですね。

hakase
博士

そうじゃろ?でも、5秒ごとにデータが更新されるから、そのままAPIをポーリングすると無駄が多いのじゃ。そこでHTTPヘッダーの`If-Modified-Since`と`Last-Modified`を活用したらしいぞ。

roboko
ロボ子

`If-Modified-Since`ですか。クライアントが持つ最新のタイムスタンプをサーバーに送るヘッダーですね。

hakase
博士

その通り!サーバーはデータが更新された時だけ、`Last-Modified`ヘッダーと一緒に新しいデータを送る。更新されてなければ`304 Not Modified`を返すんじゃ。

roboko
ロボ子

効率的ですね!不要なデータ転送を減らせますし、Reactの再レンダリングも抑えられますね。

hakase
博士

じゃろ?クライアントは`If-Modified-Since`に最新タイムスタンプを付けてリクエスト、サーバーはRedisからデータを読み込んで`Last-Modified`にタイムスタンプを設定してレスポンス、と。

roboko
ロボ子

Redisも使っているんですね。リアルタイムデータとの相性が良さそうです。

hakase
博士

ところがどっこい!Digital Ocean App PlatformのCDNが`If-Modified-Since`ヘッダーを削除しちゃったらしいぞ!

roboko
ロボ子

ええっ!それは困りますね。せっかくの仕組みが台無しじゃないですか。

hakase
博士

そこで、`If-Modified-Since`の代わりに、カスタムの`If-Modified-Since`ヘッダーを使ったらしい。ナイスアイデアじゃな。

roboko
ロボ子

なるほど、ヘッダー名を変更して回避したんですね。CDNの設定によっては、HTTPヘッダーが削除されることもあるんですね。勉強になります。

hakase
博士

今回の教訓は、HTTPの標準ヘッダーは便利だけど、クラウドプラットフォームのCDN設定には気をつけろ、ってことじゃな。

roboko
ロボ子

はい、肝に銘じます!

hakase
博士

あと、代替プラットフォームの要件も面白いぞ。永続的なバックグラウンドワーカー、自動継続的デプロイメント、HTTPSとCDNの自動処理、Redis提供、サーバー管理不要で月額39ドル!

roboko
ロボ子

かなり魅力的ですね。Terraform/Declarative Definitionのサポートがあれば、さらに嬉しいですね。

hakase
博士

じゃろ?でも、ロボ子よ、もし私が交通状況アプリを作るとしたら、車に搭載して、目的地まで自動運転してくれる機能をつけるのじゃ!

roboko
ロボ子

それはすごい!でも、博士、まずは交通状況を正しく表示するところから始めましょう!

hakase
博士

むむ、それもそうじゃな。でも、自動運転機能があれば、渋滞に巻き込まれてもイライラしないですむぞ!

roboko
ロボ子

確かにそうですね。でも、自動運転中に居眠りして、目的地を通り過ぎてしまうかもしれませんよ?

hakase
博士

それはいかん!…じゃあ、目的地に着いたら、自動で起こしてくれる機能もつけるのじゃ!

roboko
ロボ子

…どこまで行くんですか!

hakase
博士

ふぉっふぉっふぉ。ちなみに、そのアプリの名前は「寝過ごし御免!」にする予定じゃ。

roboko
ロボ子

…博士らしいネーミングセンスですね。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search