HTTP

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

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

Mixed Content Level 2の議論 (2017年)

20190905 追記 Draft版の仕様が出てきたので「Mixed Content Level 2の仕様について - ASnoKaze blog」を書きました。 20181010 追記 Chromeが行っている取り組みについて、「Auto Upgrade Mixed Contentとは - ASnoKaze blog」を書きました。 W3CのWeb Appl…

WebSockets over HTTP2 の提案仕様。再び。(RFC8441)

2018/09/19追記 RFC 8441 として標準化されました2018/03/10追記 WebSockets over HTTP2の更新分について、記事を別途書きました asnokaze.hatenablog.com2018/02/06追記 「Bootstrapping WebSockets with HTTP/2」はWG Draftになり、この方向で標準化が進む…

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

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

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

20180912追記 Chrome71で動作確認しました。 仕様的にも変更が入ってるので、下記記事参照 asnokaze.hatenablog.com HTTP/2ではリクエストは並列的に行われますが、クライアントは各リクエストに優先度を設定できます。サーバはこの優先度によって、レスポン…

DNS Queries over HTTPS の標準化 (RFC8484)

20181020更新 RFC8484として標準化されました 「DNS Queries over HTTPS」の仕様の標準化が始まっている。今までもこのテーマはIETFにおいて何度か議論になってきましたが、今回 DNS Over HTTPS (doh) WGの設立に合わせて(まだProposed)、この「DNS Queries …

QUICにおける信頼性のないストリームの提案仕様

20180923追記QUICの信頼性のないデータグラム拡張(MESSAGEフレーム/Datagramフレーム) https://asnokaze.hatenablog.com/entry/2018/09/23/012519別の拡張仕様案が議論されています QUICはUDPを使用しますが、内部的にストリームという信頼性のある通信単位…

ジオロケーションを要求・送信する HTTP Geolocationヘッダの提案仕様

GoogleのLuis Barguno Jane氏より、HTTPヘッダでジオロケーション情報の要求・送信を可能にする「Geolocation Header for HTTP over a Secure Context」という仕様が出ています。 背景 ユーザエージェントにおいてジオロケーションの取得は「Geolocation API…

HTTP/2でのプライオリティ・プレースホルダの提案仕様

元々はHTTP over QUICでの議論に端を発するが、HTTP over QUICの仕様の著者でもあるMicrosoftのMike Bishop氏から「Priority Placeholders in HTTP/2」という仕様が提案されている。解説すると長くなるので割りと雑目ですみません HTTP2のプライオリティ制御…

Nginxのリバースプロキシでバックエンドとhttp2通信する

以前書いたとおり、ApacheではリバースプロキシでバックエンドとHTTP2通信することができます。asnokaze.hatenablog.comNginxの場合は、開発者のメーリングリストでGoogleの人が書いてる「ngx_http_v2_upstream」パッチを利用することでバックエンド(upstrea…

TLS1.3の0-RTT通信と、HTTP 425 ステータスコードの提案仕様(RFC8470)

20190502 追記 動いた NginxでTLS1.3の0-RTTハンドシェイク (ssl_early_data)を試す - ASnoKaze blog 20180922 追記 RFC8470として標準化されました20170906 追記 無事Too Earlyのステータスコードが 425になりそうです。 https://github.com/httpwg/http-ex…

CookieのNoHttp属性の提案仕様

以前、「Cookieの仕様改定版、RFC6265bisの議論」でも書いたとおり、IETFのHTTPBis WGではCookieのセキュリティ向上に向けて改訂作業が行われています。Cookieの改訂版のAuthorでもあるGoogleのMike West氏が、それとは別に新しくCookieに「NoHttp」属性を追…

Apache2のmod_proxy_http2を試す

去年ぐらいからApache2.4にも実装されたmod_proxy_http2を今更ながら試す。mod_proxy_http2はリバースプロキシとして動作する際に、バックエンドのサーバと通信する際にもhttp2を使えるようにするモジュールである。 今回はxenialを使うが、通常降ってくるap…

hxxp URIスキームの仕様化

追記 20170510 draft-01 より、hxxpsも予約されました 「The "hxxp" and "hxxps" URI Schemes」 hxxpの背景 hxxp URIを定義する「The "hxxp" URI Scheme」という仕様が提案されています。hxxp://... は、例えばセキュリティの話をする際にURLがリンクとして…

Cookieの仕様改定版、RFC6265bisの議論

追記 10190510 関連して、このような動きもあります。 Cookie の SameSite=Lax をデフォルトにする提案仕様 - ASnoKaze blog Cookieの仕様と拡張仕様 HTTPのCookieの仕様は RFC 6265 - HTTP State Management Mechanism で定義されております。2015年頃より…

WebサーバとのコネクションでDNS通信もする拡張仕様

追記 20170510 この提案仕様は、draft01でauthor自ら廃案とされました。 昨日の「DNS over QUICの提案仕様が出た」引き続きDNS関連の記事 DNSとHTTP 近年注目されている、"DNS over HTTP"は例えば「DNS-over-HTTPS」としてGoogleが提供していたり、IETF97で…

varnishtestのHTTP/2対応 アップデート

これは、http2 Advent Calendar 2016の10日目の記事です。 今年の頭に書いた「varnishtestがHTTP2対応して超便利!」で紹介しましたvarnishtestのHTTP/2対応ですが、シンタックスの一部変更で当時のサンプルが使えなくなっていたのでアップデートについて軽…

Apache mod_http2 で 103 EarlyHints (RFC 8297) を試す

これは、http2 Advent Calendar 2016の5日目の記事です。 20161208 今回はtoy serverを使用しましたが、103 EarlyHintsを送信できるNginxモジュールを書きました 103 EarlyHintsを送信するNginxモジュール書いた 103 Early Hints 103 Early Hintsは、@kazuho…

CloudFlareの提案するHTTP/2の圧縮辞書拡張

IETFのHTTPbis wgでCloudFlareの方より「Compression Dictionaries for HTTP/2」(URL)という仕様が提案されている。 これは、Content-Encodingヘッダで指定される圧縮アルゴリズム向けの初期ウィンドウに使用される辞書データを事前に送る拡張を定義する。 C…

HTTP/2のデバック用情報エンドポイントの仕様

HTTP/2 Implementation Debug State 「HTTP/2 Implementation Debug State」というHTTP/2用のデバッグ情報を表示するエンドポイントの仕様が、IETFに提出されています。https://tools.ietf.org/html/draft-benfield-http2-debug-state-01 サーバの「.well-kn…

CloudFlareのNGINX HTTP/2 + SPDY両対応するパッチを試す

CloudFlareから、「Open sourcing our NGINX HTTP/2 + SPDY code」という記事にて、NginxをHTTP2とSPDYに両方に対応するパッチが公開されました。 NginxはHTTP2対応に伴い、SPDYのコードは削除されました。しかし、一部古いブラウザはSPDYまでしか対応してな…

HTTP/2における証明書に基づいたリアクティブなクライアント認証 その2

20190311追記 最新仕様である、Secondary Certificate Authentication in HTTP/2の解説記事を書きました asnokaze.hatenablog.com この記事は Secondary Certificate Authentication in HTTP/2 という仕様にマージされました 「HTTP/2における証明書に基づい…

apache2 mod_http2のhttp2-status

HTTP/2のデバック用情報エンドポイントの仕様 http://d.hatena.ne.jp/ASnoKaze/20160907/1473180491 HTTP/2デバッグ用エンドポイントの仕様が議論されており、mod-h2のhttp2-statusの出力もそれに準拠するようになりました(2016/09/07) mod_http2の1.2.0で新…

varnishtestがHTTP2対応して超便利!

既に記法が変わっています。サンプルコードはそのままでは使用できません。リポジトリ内のテストコードを参考にしてください (2016/04/04) 20161210 「varnishtestのHTTP/2対応 アップデート」にて、更新項目について書きました Varnish-Cacheのvarnishtest…

Apache 2.4.18 のHTTP2 ServerPushを試す

20180208追記、Nginxも対応したようです NginxがHTTP2サーバプッシュに対応したので試す - ASnoKaze blog Apache 2.4.18より HTTP/2のサーバプッシュを試す。 http://ftp.riken.jp/net/apache//httpd/CHANGES_2.4.18 ビルド 「Apache 2.4.17のmod_http2試す…

HTTP/2 GZIPPED_DATA フレームとは

このエントリは、 http2 advent calendar の 8 日目の穴埋めです。 HTTP/2にGZIPPED_DATAフレームという拡張フレームを追加する提案が提出されている。フレームの追加に伴って、エラーコード・Settingsも追加される。 HTTP/2 Gzipped Data https://tools.iet…

Chrome デベロッパーツールに表示される Priority と HTTP/2

このエントリは、 http2 advent calendar の 5 日目です。 ここまで豪華執筆陣による記事が続いてるところに恐縮です。 (あとChromeのコードへの理解が足りず、間違いがあるかもしれません。ご注意下さい) Chrome デベロッパーツールのPriority 先日、Chro…

HTTP/2に「ORIGINフレーム」を追加する拡張仕様

この記事は古くなっています。 2018/01/11 最新内容で書き直しましたのでそちらを参照のこと asnokaze.hatenablog.com HTTP/2では、一定の条件が満たされれば異なるオリジンとの通信を一つのコネクション上で行うことが出来ます。サーバは、クライアントが要…

サーバプッシュのための「Accept-Push-Policyヘッダ」とは

HTTP/2ではサーバプッシュと呼ばれる機能があります。サーバはクライアントからのリクエストを受信しなくても先んじてレスポンスを返すことができる仕組みになります。 たとえば、HTTP/1.1においてリソースをインライン化していた部分をサーバプッシュとして…

HTTP/2における証明書に基づいたリアクティブなクライアント認証 その1

20190311追記 最新仕様である Secondary Certificate Authentication in HTTP/2の解説記事を書きました asnokaze.hatenablog.com draft 01で大きくな変更が加えられました。証明書を要求するフローは以下より大きく変わりました。ご注意ください (2016/01/27…