<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>http on Ikoma's Blog</title><link>https://blog.yusukeikoma.com/ja/tags/http/</link><description>Recent content in http on Ikoma's Blog</description><generator>Hugo</generator><language>ja-jp</language><lastBuildDate>Thu, 10 Sep 2026 11:23:25 +0900</lastBuildDate><atom:link href="https://blog.yusukeikoma.com/ja/tags/http/index.xml" rel="self" type="application/rss+xml"/><item><title>WebSocket の Origin 検証が止めるのは他サイトのページで、他のクライアントではない</title><link>https://blog.yusukeikoma.com/ja/posts/websocket-origin-check-is-not-authentication/</link><pubDate>Thu, 10 Sep 2026 11:23:25 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/websocket-origin-check-is-not-authentication/</guid><description>WebSocket のハンドシェイクにある Origin ヘッダーは、ブラウザが付けるもので、それ以外のクライアントは好きな値を送れます。許可リストが守るのは、Cookie 認証のブラウザセッションが他のサイトから使われることで、接続してきた相手が誰かは証明しません。動くサーバー、実ブラウザでの攻撃、そこから導かれるハンドシェイクの規則を示します。</description></item><item><title>HTTP/2で1本がタイムアウトしたら、閉じるのは接続ではなくストリーム</title><link>https://blog.yusukeikoma.com/ja/posts/http2-timeout-stream-vs-connection/</link><pubDate>Tue, 08 Sep 2026 12:56:00 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/http2-timeout-stream-vs-connection/</guid><description>たくさんのリクエストを同時に流している1本の接続で、1つのリクエストの期限が来たとき、接続ごと閉じるべきか、そのリクエストだけを閉じるべきか。小さなNodeの実験では、HTTP/2のセッションを閉じると無関係な2本が失敗し、ストリームだけをキャンセルすると同じTCP接続のまま2本とも完了しました。ただし、TCPの1パケットの遅れは接続上の全ストリームを止めます。その場合に接続の生死を確かめる方法として、PINGを使った確認も試します。</description></item><item><title>カーソル・有限ログ・スナップショットで、再接続したイベントストリームを再開する</title><link>https://blog.yusukeikoma.com/ja/posts/resumable-streams-cursors-last-event-id-snapshots/</link><pubDate>Fri, 04 Sep 2026 19:26:37 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/resumable-streams-cursors-last-event-id-snapshots/</guid><description>再接続したクライアントが、状態を取りこぼさず、重複せず、履歴を読み直さずに追いつく方法を、「全部読み直す」から「上限つきのログとスナップショットのフォールバック」まで、版0から版4まで段階的に組み立てます。ブラウザの EventSource が再接続時と non-200 応答のときに実際に何をするか、スナップショットの順序のバグ、決定木も扱います。</description></item><item><title>リトライで二重に処理される。「ちょうど1回」は作れない</title><link>https://blog.yusukeikoma.com/ja/posts/exactly-once-delivery-idempotency-and-backoff/</link><pubDate>Fri, 28 Aug 2026 10:07:45 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/exactly-once-delivery-idempotency-and-backoff/</guid><description>リクエストがタイムアウトしたとき、クライアントはリクエストが失われたのか、確認応答だけが失われたのかを区別できません。だから「ちょうど1回」の配送は作れず、実際にできるのは「少なくとも1回の配送」と「重複を除く受け手」の組み合わせです。不安定なネットワークでの実験、正しく見えて89件を重複させるバグ、原子的な重複排除ストア、ジッターのシミュレーションで確かめます。</description></item></channel></rss>