HTTP/3の解説を書いた (2020/06/01)

@flano_yuki がHTTP/3について書きました (無料です)。

CONNECT-UDP HTTPメソッドの仕様 (RFC 9298)

MASQUEの流れで登場したCONNECT-UDP HTTPメソッドは、HTTPの接続をUDPでプロキシするのに使用されるメソッドです。

サポートしてないwell-known URIs に対するステータスコードを確認する提案仕様

サポートしていないwell-known URIs へのリクエストに対して200番を返すサーバを検出するための仕組み。

Compact TLS 1.3の提案仕様

Compact TLS (cTLS)は、よりコンパクトなTLSを定義しデータの通信量を削減しています。

Cookieのセキュリティを改善する Scheming Cookiesについて

Cookieのセキュリティを改善するSchemeful Same-Siteと、Scheming Cookiesについて解説する。これらは、GoogleのMike Westが提案するIncrementally Better Cookiesで登場する。

時刻同期プロトコル Roughtime の標準化

GoogleやCloudflareが開発をすすめる時刻同期プロトコル Roughtimeの仕組みおよび、標準化動向について解説する。

TLS Encrypted Client Hello の暗号化(ECH)に関するメモ

TLS SNIの暗号化のために、ClientHelloの暗号化する方法が提案されている。その構成や仕組みについて簡単に説明する。

「Advisory Content-Length for HTTP」と自転車置場の話し

プロトコルの標準化の場では、自転車置き場(Bikeshed)の話がたまに出てきます。そのやり取りが面白かったので、提案仕様自体の解説にあわせて紹介します。

WebTransport over HTTP/2 の仕様について

WebTransportという新しい双方向メッセージングプロトコルの標準化および実装が進められている。そのうち「WebTransport over HTTP/2」の仕様について解説する。

UUID version 6の提案仕様

先日IETFに提出された「UUID Format Update」という提案仕様の中でUUID version 6のフォーマットが言及されている。その背景と構造について簡単に解説する。

Retry-Afterのスコープを指定するRetry-Scopeヘッダ

Retry-Afterヘッダのスコープを示す、Retry-Scopeヘッダの提案仕様について。その例とともに示す。

RFC8701 TLS GREASEで予約される値

TLSの拡張性を維持するために、未知の拡張仕様を実装が正しく無視するように「Applying Generate Random Extensions And Sustain Extensibility (GREASE) to TLS Extensibility」という仕様が長らく議論されてきました。2020年1月に無事RFC8701になったので…

オリジン全体にポリシーを適応するOrigin PolicyをChromeで試す

オリジン全体にポリシーを適応する「Origin Policy」という機能をChromeで試してみました。CSPやFeature-Policyのポリシーが適応できます。

WebTransport over QUICのサンプルサーバを試してみる

2022/01/04追記: この記事はすでに古いです。WebTransport over QUICは標準化せずに、WebTransport over HTTP/3を標準化する方向です。Chromeの実装もそちらに移っています。 "WebTransport over QUIC"の標準化及び、Chromiumでの実装が進んでいます。今回は…

ダウンロードもMixed Contentsの対象となる話し

Chrome 81のデスクトップ版から、ダウンロードもMixed Contentsでブロック対象になる話があります。 これにより、https:// のページから http://でリンクされたファイルをダウロードしようとするとブラウザによってブロックされます。

HTTPメッセージに署名をするSignatureヘッダの標準化

HTTPメッセージに署名をするSignatureヘッダを定義する「Signing HTTP Messages」という仕様が提案されています。HTTPメッセージへの署名は、様々なところで行われていますが、それぞれ独自の方式で行われています。例えば、AWS APIを叩く際に利用する「Sign…

2019年 asnokaze 振り返り

今年も大晦日になりました。例年通り振り返ります。今年も全52記事と、たくさん書いた。一方でイベント類やアウトプットは少なかった気がする。来年頑張りたい。また今年特に印象深いのが、「ブログ、読んでますよー」とお声がけいただく機会が何度かあった…

HTTP/3をUDPロードバランサで分散するときの問題点 (AWS NLBで試してみた)

HTTP/3はQUICというトランスポートプロトコルを利用しています。QUICはUDPを利用していますが、QUIC自体はステートフルなプロトコルです。ステートフルなQUICを、QUICを解釈しないUDPロードバランサでバランシングしようとするにはいくつかの問題点がありま…

Crash/Deprecation/Intervention Reporting について

ブラウザがWebページを表示する際に発生したエラーを、任意のエンドポイントにレポートさせる「Reporting API」という仕様があります。Crash/Deprecation/Interventionという、エラータイプについて紹介します。

CookieのPriority属性の仕様

あまり知られていないがCookieにはPriority属性があります。最近ChromeがデベロッパーツールでPriority属性を表示するようになりました。そこで超簡単にだが仕様を紹介する。

HTTPヘッダに構造定義を与える Structured Headers の提案仕様 (draft-14)

HTTPヘッダにリストや辞書形式のようなデータ構造の定義を与える「Structured Headers for HTTP」という提案仕様について。draft-14ベースで紹介。

HTTPで部分的アップロードを可能にする Partial Uploadsという提案仕様

2021/11/24 追記、こちらもあわせてどうぞ 「HTTP PUTリクエストにContent-Rangeヘッダを付けられるか?(再開可能アップロードについて)」== HTTPリクエストは一度中断してしまうと、途中から再開することは出来ません。特に大きなファイルをアップロード…

ネットワークメトリクスを示すTransport-Info HTTPレスポンスヘッダ

トランスポートレイヤの性能を示すTransport-Infoレスポンスヘッダの提案仕様「The Transport-Info Response Header」が提出されています。この仕様の目的は、ブラウザでより詳しいトランスポートレイヤのパフォーマンスを取得することが目的となっており。H…

DoHを利用しないように指示するCanary domainの仕組み

DoHは重要ですが、利用が適切でない場合があります。Fifrefoxでは、そのネットワークでDoHを使用するか判断するにあたって「use-application-dns.net.」というCanary Domainを利用する。

QUIC, HTTP/3の標準化状況を確認したい (2019年11月版)

2020/06/01追記 まるっと解説記事を書き直しました asnokaze.hatenablog.com 目次 Status The Plan Versions Extensions Applications Other Things More Information 関連記事 QUICは現在IETFで標準化が進められているトランスポートプロトコルであり、HTTP…

ブラウザでIPマルチキャストを受信するMulticastReceiver API

WICGやIETFにおいて、ブラウザでIPマルチキャストのパケットを受信できるようにする「MulticastReceiver API」の議論があるようです。APIとプロトコルの概要について紹介します。

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パッチ)

2020/060/01 追記 nginx公式版が提供されました。こちらを御覧ください asnokaze.hatenablog.com NginxをHTTP/3対応させるパッチがCloudflareから提供されました (CloudflareのHTTP/3ライブラリ Quicheを利用しています。現状ではHTTP/3ドラフト23版の対応に…