internet-draft

「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になったので…

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

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

CookieのPriority属性の仕様

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

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

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

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

HTTPリクエストは一度中断してしまうと、途中から再開することは出来ません。特に大きなファイルをアップロードしている場合は、最初からやり直すことになってしまいます。(ダウンロード自体は、Content-Rangeを指定することで部分的な取得が可能です)そこ…

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

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

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

目次 Status The Plan Versions Extensions Applications Other Things More Information 関連記事 QUICは現在IETFで標準化が進められているトランスポートプロトコルであり、HTTP/3はそのQUICの上で効率よく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ヘッダ値を直接バイナリで表現できるようになります。

WebTransport over QUIC について

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

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

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

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

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

複数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氏から提出されています,

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

『追記』RFC 8674になりました https://www.rfc-editor.org/rfc/rfc8674.html Webサービスによっては、子供に見せたくない有害なコンテンツを非表示にできるサービスもあります。それの多くはcookieを使い、設定を保存するケースが多く個別に設定を有効にし…

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

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

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

20191226 追記 SameSite属性のついたCookie自体を拒否する古いクライアントにご注意ください https://sites.google.com/a/chromium.org/dev/updates/same-site/incompatible-clients20190823 追記 suidenOTI さまよりご指摘いただきました不具合があったため…

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

関連記事 WebTransport over QUIC について - ASnoKaze blog WebTransport over HTTP/2 の仕様について - ASnoKaze blog WebTransport over QUIC について - ASnoKaze blog WebTransportという新しい双方向通信フレームワークの議論が始まっている。Googleの…

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と…

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

RFC8740として標準化された。HTTP/2でTLS1.2を使用している場合はrenegotiatoinが禁止されており、同様の課題をもつTLS1.3のpost-handshake authenticationも明示的に禁止する。