2017-01-01から1年間の記事一覧

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

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

Nginxで、リクエストを複製するmirrorモジュールが標準搭載された

[20170809追記] nginx-1.13.4に ngx_http_mirror_module は含まれました Nginxで、リクエストを複製するmirrorモジュールがコミットされ、何もせずとも使用できるようになりそうです(現状最新コミットをビルドする必要あり)。例えば本番環境のproxyからリク…

iphone(iOS 11)でMultiPath TCPを使う

すでにアナウンスされているとおり、iOS11よりMultipathTCP (MPTCP)のAPIがサードパーティデベロッパーに公開されます。実はiPhoneをお使いの人はすでに、iOS7からsiriでMPTCPが使われていたので裏ではすでに使われておりましたが、実際にみんなが試せるよう…

Happy Eyeballs Version 2 の仕様 (RFC8305)

2017/12/22 RFC8305として標準化されました。 なお、下記内容は標準化中の内容につき一部古いかと思われます。 IPv4とIPv6両方が利用可能なデュアルスタック環境において、通信する際にIPv6とIPv4を並列的に試してより早く通信の確立が出来た方を試す Happy …

.internal ドメインを予約する提案仕様

IETFのdnsop WGで .internal ドメインを予約する「The .internal TLD.」という仕様が、GoogleのWarren Kumari氏によって提案されています。DNSに関しては詳しくないのですが、ざっと読んだので簡単にメモ。 .internal .internalというドメインを内部的に使用…

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

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

Webページを丸ごとパッケージングする Web Packagingとは

20180824追記 Loading Signed Exchangesについて記事を書きました Loading Signed Exchangesの仕様 (WebPackaging) - ASnoKaze blog20180208追記 Bundled HTTP Exchangesについて記事を書きました Bundled HTTP Exchanges とは (WebPackagingの議論より) - A…

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

20190502 追記 動いた NginxでTLS1.3の0-RTTハンドシェイク (ssl_early_data)を試す - ASnoKaze blog 20180922 追記 RFC8470として標準化されました無事Too Earlyのステータスコードが 425になりました (URL)本記事は、draft-00時点の記述の通り、未定を示す…

QUIC標準化現状確認メモ

2018/2 asnokaze.hatenablog.com Googleの考案したQUICは現在IETFで標準化が進められており、多くの人々によって議論されております。QUICの中身よりも現在の状況について、自分用に整理する。Issueが追えてないので残念感ある。 概要 UDP上で信頼性のある暗…

CookieのNoHttp属性の提案仕様

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

署名式 SRI(Subresource Integrity)の議論

w3c

W3CのWeb Application Securityワーキンググループで、署名式 SRIの議論が出ていたので簡単に書く 背景 セキュリティ向上の目的で、Webページ上で読み込まれるリソース(JavaScript等)を制限する方法に、CSP(Content Security Policy)やSRI(Subresource Integ…

Apache2のmod_proxy_http2を試す

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

DNS ANAMEレコードの提案仕様

20181019追記 「Address-specific DNS aliases (ANAME)」として、新しい draft-02が出されました 20180912追記 この提案仕様はexpireしてしまいました。 完璧に代替するものではありませんが、いくつかの方法について議論がされているようです。 IETFでのDNS…

NginxのstreamモジュールがDTLSに対応した(パッチ)

NginxのL4レイヤのProxy機能である、streamモジュールのDTLS対応パッチが公開されていたので試す。 (まだ検証段階で、フィードバック募集中らしい)簡単に言うと、以下のようににDTLS -> Plain UDPや、その逆にPlain UDP -> DTLSへのProxyが出来る。 DTLS -> …

RFC8174「RFC 2119のキーワードにおける大文字と小文字の曖昧性」

RFCやInternet-Draftを読んだことある人であれば、文中にMUSTやSHOULDといった大文字のキーワードが用いられてるのを見たことあるかと思います。たとえば、このように An endpoint MUST treat this as a stream error (Section 5.4.2) of type PROTOCOL_ERRO…

TCP Fast Openの闇と、Kernelの緩和コミット

TCP

TCP Fast Open TCP Fast Openと呼ばれる技術があり、RFC 7413として標準化されている。このTCP Fast Openを使うと、一度コネクションを貼った相手とは、TCPの3ウェイハンドシェイク中にデータを送受信できるようになる。クライアントからSYNとともにデータを…

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

DNS over QUICの提案仕様が出た

DNS over QUIC (DoQ)の仕様について、その目的とQUIC上でのバインディングについて説明します。

マルチパスQUICにおけるOne Way Latencyの考察

QUICの各仕様のdraft-02が出た一方で、マルチパスQUICに関する考察ドラフトが出ています。 マルチパスQUICはマイルストーン上は2017年の後半に拡張の仕様が出て来る予定ですが、それに先立って考察のドラフトが出ている状況です。今後関連するドラフトも出て…

TLSにおける証明書チェーンを圧縮する拡張仕様 (RFC 8879)

2020/12/02追記 RFC 8879 とになったので、記事を書き直しました asnokaze.hatenablog.com GoogleとCloudflareの方による「Transport Layer Security (TLS) Certificate Compression」という、証明書チェーンの圧縮を行う拡張仕様の提案が出ています。 TLSハ…

CSPの仕様に report-sample が追加された

w3c

まだ、WIPではあるもののCSPの仕様に "report-sample" と言う機能が追加されました(URL)。 これは、違反したインラインのScriptやStyleの最初の40文字がレポートに追加されます。外部ファイルの場合はレポートされません。昨年から議論がされていましたが、…

HTTP over マルチキャストQUIC とは

2022/05/16 動きがあったため、記事を新しく書きました asnokaze.hatenablog.com 「Hypertext Transfer Protocol (HTTP) over multicast QUIC」で、マルチキャストのQUIC上でHTTP通信を行う仕様が提案されている。マルチキャストQUICは単方向通信であり、そ…

Nginxがstale-while-revalidateに対応した

20170214 追記このコミット(URL)で入った proxy_cache_background_update で、stale-while-revalidateを使わなくてもバックグラウンドでキャッシュ更新するように設定できるようになる模様 このコミット(URL)で、Nginxのproxy_cache機能がstale-while-revali…

WiresharkのTLS1.3対応 動いた

TLS

TLS1.3動いたシリーズの第3回目(?) WiresharkはTLSの実装一覧ページ(URL)では、以前よりTLS1.3対応をうたっていたがあまり出来は芳しくなかった。しかし、先日 TLS1.3絡みのコミットが幾つか入ったので、実際に改善されていることを確認した コミットログ(UR…

Content-Encoding: aes128gcm とは (RFC8188)

20170624追記 RFC8188 として標準化されました HTTPリクエスト・レスポンスのボディを暗号化する、「Content-Encoding: aes128gcm」を新しく標準化する「Encrypted Content-Encoding for HTTP」という仕様が議論されております。 提案自体は数年前に行われて…

QUICのヘッダ圧縮QPACKとは (旧QPACK)

20190408追記 最新版について記事を書きました asnokaze.hatenablog.com QUICのヘッダ圧縮であるQPACKについて 現在のQUICの策定中仕様の一つである「Hypertext Transfer Protocol (HTTP) over QUIC」では、QUICでもHTTPヘッダの圧縮にHPACKを使用することに…

NginxでTLS1.3 動いた(OpenSSL)

昨日書いた「OpenSSLのTLS1.3対応」の続き 特に何かしたわけではないが、OpenSSLのTLS1.3対応が進んでいたのでインストールしてNginxで動かす。 ビルド openssl 今回はインストールしてしまう。 $ git clone https://github.com/openssl/openssl.git $ cd ./…

PerformancePaintTiming API(First Paint Timing API)とは

w3c

昨今、「Navigation Timing API」といったクライアント側でのページの処理時間を取得する機能が充実してきております。 W3CのWeb Performance WGでは、Navigation Timing、User Timing、Resource TimingそれぞれLevel2, Level3が改訂作業が行われております…