QUICにおけるヘッダ圧縮の提案仕様 QCRAM その2 (draft-04)

HTTP over QUICでは、HTTP/2のフレームを利用するが、HTTPヘッダ圧縮にHTTP/2のHPACKをそのまま使用するのはHoLBの問題が知られている。HPACKでは、ヘッダが送った順番通りに届く事を想定しており、送信側と受信側が完全に同じ状態を保てる。しかし、QUICで…

NginxがHTTP2サーバプッシュに対応したので試す

追記 [nginx-announce] nginx-1.13.9 http://mailman.nginx.org/pipermail/nginx-announce/2018/000207.html1.13.9でサーバプッシュがサポートされました 先程、Nginxでサーバプッシュをサポートするコミットが入ったので試す。HTTP/2: server push. http://…

Bundled HTTP Exchanges とは (WebPackagingの議論より)

WebPackagingという仕様が議論されている。簡単な概要は以下の記事に書いたとおり asnokaze.hatenablog.comWICG/webpackageで書かれている通り、WebPackagingは以下の2つに分離して標準化が進められそうです Signed HTTP exchanges: HTTPリクエスト/レスポン…

QUICの現状確認をしたい 2018/2 (MTU, Migration, Packet Number Encryptionなど)

QUICの標準化状況に関して、幾つかトピックを取り上げるシリーズ化するつもりは無いが、1月に書いたので、今回は2月初旬版 qiita.com拾いきれてないトピック沢山有るので、皆さんも是非補足して頂ければ目次 Draft-09 Call for Adoption 接続性テスト(Intero…

Application-Layer TLS の標準化動向

IETFでApplication-Layer TLSの議論が行われ始めているので、雑に書き留めておく Application Transport LAyer Security (Atlas) 前回、アプリケーションレイヤでTLSを喋る「HTTP over TLS」について、記事を書いた。 asnokaze.hatenablog.com その後、IETF…

DNSで負荷分散を可能にするLBレコードの提案

名前解決を行っているクライアントの国や地域によって、近い場所のサーバのIPを返すといったことは既に行われている。しかし、そのDNSによる負荷分散の方法は標準化されていない。「DNS load balancing」という提案仕様では、新しくLBレコードを定義し、権威…

DNS ALTSVC recordの提案仕様

Alternative ServicesをDNSで通知できるように、ALTSVCレコードを定義する「Finding HTTP Alternative Services via the Domain Name Service」という仕様が出ています。DNSレコードタイプの議論ですが、HTTPbis WGから議論が始まっています。 HTTP Alternat…

HTTP/2 クロスオリジン サーバプッシュを可能にする提案仕様

ちょっと不明瞭な部分が修正できてません。すみません。20180213補足 「Origin-signed HTTP Responses」は「Signed HTTP Exchanges」に改称されました。この仕様では、HTTP Exchange(リクエストとレスポンス)両方を署名対象にし、それらの署名値であるSignat…

そろそろ標準化されるHTTP/2 ORIGIN フレームについて

HTTP/2の拡張仕様で、ORIGINフレームという提案仕様が大詰めを迎えています。 https://tools.ietf.org/html/draft-ietf-httpbis-origin-frame-05 IESGに送られていますが、現在のところでは反対意見は出ていません。このORIGINフレームについては、数年前に…

Amazonの人が提案するDistributed OAuthという提案仕様

AnazonのDick Hardt氏が「Distributed OAuth」という仕様を提案している。昨年行われたIETF100でも議論があり、来週行われるOAuth WG Virtual Meetingでも話が進められるようだ。遅らせばながら簡単に読んで見る。 Distributed OAuthとは 通常のOAuth2では、…

RFC 8307 WebSocketにおけるWell-Known URIの標準化

「RFC 8307 Well-Known URIs for the WebSocket Protocol」でWebSocketにおいても Well-Known URIが使用できるようになりました。この界隈では珍しく、個人ドラフトの-00から一気にRFCになっています https://datatracker.ietf.org/doc/rfc8307/ Well-Known …

2017年 振り返り

2017年を振り返る今年はブログ記事をたくさん書いた。 60記事、そのうち internet-draftタグの付いたものは33にもなる、W3Cは10であった。ブログに加え、登壇や執筆などを行えた。さらに、Mozaic.fmにも出させてもらえた。 mozaic.fm某省庁に呼ばれたり、IET…

DTLSにコネクションIDを導入する提案仕様

DTLSにコネクションIDを導入する「The Datagram Transport Layer Security (DTLS) Connection Identifier」という提案が出ています。DTLS1.3の議論を進める中で出てきたトピックであり、既にWG Draft になっています。 DTLSとセッション DTLSはUDPのようなコ…

将来のQUICをデプロイしやすくするための取り組みと議論 (QUIC GREASE)

MozillaのM. Thomson氏より「More Apparent Randomization for QUIC」というinternet draftが出ています。 ## QUICのここまで QUICはIETFで標準化が進められています。当初は2018年3月が一つのマイルストーンになっていましたが、スコープとマイルストーンの…

ライブコンテンツにおけるHTTP Rangeリクエストを改善する提案仕様

ライブコンテンツやログデータといった常に大きくなり続けるコンテンツに対するRangeリクエストを改善する提案仕様がIETFのHTTPbisで出ています。その仕様は「HTTP Random Access and Live Content」であり、すでにWGアイテムとなっておりWorking Group Last…

QUIC Invariantsの議論

QUICは現在IETFで標準化が進めれています。QUIC WG出来、本格的に標準化が開始して1年ほど立ったところで、スケジュールとスコープの議論(QUIC - Our schedule and scope)が出てきており、QUIC Version1としてどの機能を標準化する話が行われてる一方で、Inv…

QUICのSpin Bitの議論

QUICはUDP上でTCP+TLS+HTTP/2の機能を持つ新しいプロトコルであり、IETFで絶賛標準化中です。7月にあったIETF99より、Spin Bitというトピックが議論されているので簡単に書く。以前、下記記事にも書いたとおりQUICではACKなどを含む殆どの制御情報も暗号化さ…

TLS over HTTPの提案仕様

追記 関連してATLSの記事を書きましApplication-Layer TLS の標準化動向 http://asnokaze.hatenablog.com/entry/2018/02/01/084251 TLS over HTTPである。HTTP over TLSではない。「Application-Layer TLS」という提案仕様がCiscoの方より提出されている。(…

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

HTTPヘッダには、リストや辞書といった構造を表現するのに決まったやり方はありません。HTTPヘッダ毎にシンタックスや構造が定義されており、そのためパーサーが再利用出来ません。mnot氏とphk氏の共著で提出された「Structured Headers for HTTP」仕様では…

iframe内の転送量を制限する Transfer Size Policy とは

Webページにソーシャルボタンや広告といったiframeを埋め込むことがあります。この時、埋め込んだ側はiframeの中で使用されるリソースを制限する方法はありません。例えば動画を再生すればトラフィックとCPUが消費されますし、最近では実はBitcoinの採掘に利…

Content Security Policy(CSP) レポートのCORSと、Fetchの仕様変更

WHATWG, Fetch詳しくないので間違いがあればご指摘下さい Content Security Policy(CSP)やHPKPやExpect-CTでは、ユーザエージェントはセキュリティの違反を検出した際に、指定したURLにレポートを送信できる。例えば、下記のようにHTTPレスポンスヘッダにrep…

QUICとネットワーク管理/オペレーションの話

あわせて下記記事も参照のこと asnokaze.hatenablog.com ワイヤイメージ 経路上で出来ること QUICトラフィックの識別 バージョンの識別 不正なパケットの拒否 コネクション確立の確認 通信フローの関連付け 通信フローの切断検出(不可) ラウンドトリップタイ…

Mixed Content Level 2の議論

W3CのWeb Application Security WGのco-chairとなった GoogleのMike West氏から、11月に実施されるTPAC 2017に先立って「Mixed Content Level 2」という提案が出されている。 Mixed Content https://のURLで、http://のリソースを読み込むと警告・もしくはブ…

Akamai Edge 2017 に行ってきた

10月11~13日に、ラスベガスで開催されたAkamai Edge 2017に参加してきました。英語を聞きながらのメモなので断片的ではあるが、せっかくですので、面白かった所など紹介する。 オープニング・キーノート マルチソース・ストリーミング Bot Manager パフォー…

Device Memory APIを用いてデバイスのメモリサイズを取得する

背景 Webサービスでは、デバイスの性能毎に軽量版の機能を提供することが有ります。Google Search、Google Map、Facebookなどではローエンドデバイスでは一部軽量版のページを提供することが有ります。または、クライアントサイドで何かしらの処理速度などを…

WebSockets over HTTP2 の提案仕様。再び。

2018/2/06追記 「Bootstrapping WebSockets with HTTP/2」はWG Draftになり、この方向で標準化が進む方向です。ただし、下記のプロトコルフローとは異なりHEADERSフレームでWebSocketのアップグレードを処理する手順になっています。Chromiumにおいても「Add…

TLS1.3とDC内での復号に関する熱い議論

各ブラウザや、OpenSSL・BoringSSLといった暗号ライブラリ、ミドルウェアのTLS1.3対応が進んでおり、実際に通信できるところまで来ている。標準化としても大詰めを迎えている。前回のIETFより話題に上がっている、TLS1.3に関するDC内での復号を目的とした議…

パスワードマネージャが適切にパスワードを生成できるようにするポリシーの提案仕様

パスワードの管理に、1PasswordやLastPassといったパスワードマネージャを使うのは一般的になってきています。そのようなパスワードマネージャはランダムなパスワードを生成しますが、Webサービスによって使える文字の種類や、長さというのはマチマチです。…

キャッシュサーバの効率を改善するHTTP Variantsという提案仕様

HTTP Variants IETFのHTTP WGやQUIC WGのチェアをしているmnot氏より、キャッシュの効率が改善する「Variants」というHTTPレスポンスヘッダを定義する「HTTP Variants」という提案仕様が出ています。この機能は、Fastly VCLの機能の標準化のようです。少々想…

HTML要素からHTTP/2優先度を指定する Priority Hints

HTTP/2ではリクエストは並列的に行われますが、クライアントは各リクエストに優先度を設定できます。サーバはこの優先度によって、レスポンスの順番(正確にはレスポンスを返すのに使用するリソース)を、制御しています。この優先度の設定はブラウザが自動で…