HTTP/3と新しいプライオリティ制御方式について

HTTP/3における優先度制御の話と、現在議論が行っ割れている新しく提案されているプロトコルバージョンに依存しない優先度制御について書きます。

キャッシュ情報を示す、Cache-Status レスポンスヘッダ

リクエストに対してx-cacheレスポンスヘッダでキャッシュにhitしたか示すCDNベンダーもあります。しかし、このx-cacheヘッダは各ベンダー独自のもので標準化されていませんでした。そこでCache-Statusというヘッダをちゃんと定義する「The Cache-Status HTTP…

「Binary Structured HTTP Headers」について

Fastlyの「Binary Structured HTTP Headers」という提案仕様がでています。Structured Headersの定義に基づいて、HTTPヘッダ値を直接バイナリで表現できるようになります。

NginxでHTTP/3が動いた (Cloudflareパッチ)

NginxをHTTP/3対応させるパッチがCloudflareから提供されました (CloudflareのHTTP/3ライブラリ Quicheを利用しています。現状ではHTTP/3ドラフト23版の対応になります) github.com基本的に、書いてるとおりにやればビルドできるのですが、無事HTTP/3しゃべ…

WebTransport over QUIC について

blink-devメーリングリストで、「Intent to Implement: QuicTransport」として、ChromeでのWebTransport over QUICの実装の機運が高まっている。プロトコルの概要について眺めていく。

ChromeのHTTP/3(ドラフト版)対応

Chrome CanaryがHTTP/3のドラフト版に対応していたので、簡単に動作を見ていきます。また、バージョンについても解説します。

QUICのコネクションマイグレーションについて

QUICのコネクションマイグレーションの流れ及び、セキュリティについて説明する。

HTTPリクエストのレートリミットを示すRateLimitレスポンスヘッダの提案仕様

先日提出された「RateLimit Header Fields for HTTP」では、HTTPレスポンスでHTTPリクエストのレートリミットに関する情報を通知するヘッダを定義します。

Mixed Content Level 2の仕様について

w3cのリポジトリにEditor’s Draftとして「Mixed Content Level 2」のページが加わっております。Mixed Content Level 1では表示できていた Mixed Content な画像,音声,動画もブロックされる可能性があります。

Double-keyed HTTP cache に関するメモ

201909027追記Fetchの仕様にプルリクが出されています HTTP cache partitioning by shivanigithub · Pull Request #943 · whatwg/fetch · GitHub whatwgでfetchに関して「Double-keyed HTTP cache」という議論がされています。github.comブラウザ側でも動き…

TCP/QUIC相互変換のポートフォワードツールを書いた

QUICをサポートしているアプリケーションプロトコル、実装が現状多くはない。 QUICの恩恵に預かるために、TCPとQUICを相互変換するポートフォワードツール 「t2q2t」 を書いた。(実態としてはただのProxy)

curlのHTTP/3実験実装を触ってみる

curlがHTTP/3の実験実装を公開したので試す。ライブラリとしてngtcp2を使う方法と、cloudflareのquicheを使う方法があるが今回はquicheを使う。

動画上にコメントを表示する"弾幕"の仕様

W3Cの「Chinese Web Interest Group」から、Unofficial Draftとして「弹幕规范」(英語版: Bullet Chatting Proposal)というドキュメントが公開されています。 仕様上でも「use cases and requirements for Danmaku」と書かれている通り、動画上にコメントの…

複数TLSコネクションの署名処理をまとめて行うBatch Signing

複数のTLSコネクションの署名処理ををまとめて1回で行ってしまう、「Batch Signing for TLS」という提案仕様がGoogleのDavid Benjaminさんより提案されています。

HTTPSで接続するための追加情報を格納するHTTPSSVCレコード

ESNIの鍵情報や、HTTP/2やHTTP/3で通信可能な事を示すAlt-Svc情報を通知するのに、DNSに新しくHTTPSSVCレコードを追加する仕様が提出されています。

TCP Slow Startを改善する HyStart++について

20190725追記 draft-01 で計算式に変更が入っています TCP Slow Startを改善する 「HyStart++: Modified Slow Start for TCP」というdraftがMicrosoftの方より提出されている。HyStart++はすでにWindowsで実装されている他、HyStartもLinuxのCubicに実装され…

提案仕様「HTTP Transport Authentication」について

HTTPレイヤにおいて、使用しているトランスポートレイヤの認証を行う「[HTTP Transport Authentication」という仕様がGoogleのDavid Schinazi氏から提案されています。

QUICのAckとロスリカバリについて

QUICでは、UDP上で信頼性のあるデータ通信を提供するトランスポートプロトコルです。QUICのAckとロスリカバリについて自分なりにまとめる。(暗号化およびHTTP/3については、関連記事参照)

処理中のPOSTリクエストを別のサーバで引き継ぐPartial POST Replayについて

処理中のPOSTリクエストをそのまま別のサーバで引き継げるようにする「HTTP Partial POST Replay」という仕様がFacebookのAlan Frindell氏から提出されています,

Cross-Origin-Embedder-Policyヘッダについて

ChromeがCross-Origin-Embedder-Policy (COEP)の実装に着手しそうなので、ざっと仕様を眺める(議論段階であり、正式な仕様ではありません) mikewest.github.ioちょっと話が難しいので間違ってたらすみません。なお以前は、仕様名は「Cross-Origin-Resource-P…

安全なコンテンツを要求するPrefer:safeヘッダ

Webサービスによっては、子供に見せたくない有害なコンテンツを非表示にできるサービスもあります。それの多くはcookieを使い、設定を保存するケースが多く個別に設定を有効にしていく必要があります。また、広告といった設定がし辛い部分もあります。こうい…

サービスやリソースの廃止時間を示すSunset HTTP ヘッダ (RFC8594)

RFC8594 で定義された、サービスの廃止時間を示すSunsetヘッダについて。

Cookie の SameSite=Lax をデフォルトにする提案仕様

20190823 追記 suidenOTI さまよりご指摘いただきました不具合があったためChrome80でのリリースに延期になったようです。 https://www.chromestatus.com/feature/5088147346030592 https://www.chromestatus.com/feature/563352162218803220190523 追記 Fir…

Cross-Origin-Opener-Policyについて

Cross-Origin-Opener-Policy (COOP)は現在、ChromeやFirefoxで実装が進められている機能です。 Chrome: Implement Cross-Origin-Opener-Policy firefox: Implement Cross-Origin-Opener-Policy 仕様としては、whatwgで長らく議論がされており、おそらく仕様…

新しいWebの双方向通信 "WebTransport" について

[2019/10/10] WebTransport over QUIC について追加で記事を書きました asnokaze.hatenablog.com> WebTransportという新しい双方向通信フレームワークの議論が始まっている。GoogleのPeter Thatcher氏らによって、W3C WICGにプロポーザルが投げられています。…

QUICの暗号化と鍵の導出について

QUIC, HTTP/3 関連記事 QUICのAckとロスリカバリについて - ASnoKaze blog HTTP/3のヘッダ圧縮仕様QPACKについて - ASnoKaze blog WiresharkでのQUICの復号(decrypt) - ASnoKaze blog QUIC,HTTP/3 の draft-17に関するメモ - ASnoKaze blog HTTP over QUICと…

HTTP/2においてTLS1.3のpost-handshake authenticationの禁止

GoogleのDavid Benjamin氏より「Using TLS 1.3 with HTTP/2」という提案仕様が出されています。この仕様自体は、単純にHTTP/2においてTLS1.3のpost-handshake authenticationを禁止するものです。HTTP/2でTLS1.2を使用している場合はrenegotiatoinが禁止され…

「Address-bound Token for QUIC」が面白い

FastlyのKazuhoさんが「Address-bound Token for QUIC」という提案仕様を出している、この中で出てくる "Sharing the Congestion Controller" という仕組みが非常に面白かったので、簡単に書いてみようと思う。 address-bound token この提案では、同一エン…

HTTP/3のヘッダ圧縮仕様QPACKについて

この記事では、HTTP/3で導入されるHTTPヘッダ圧縮の仕組みである「QPACK 」について説明します。(執筆時 draft 07)HTTP/3については下記を一読頂ければ asnokaze.hatenablog.com asnokaze.hatenablog.com HTTP/2の場合 ハフマン符号 静的テーブル、動的テ…

中間証明書を要求しないTLSフラグ拡張

TLSハンドシェイクでは、サーバはエンドエンティティ証明書と任意でルート証明書までたどるための中間証明書を送信します。不要であればこの中間証明書を送信しないようにする「Suppressing Intermediate Certificates in TLS」という提案がMartin Thomson氏…