タグ ASnoKaze blog
人気順 5 users 50 users 100 users 500 users 1000 usersHTTP/3コネクション上でSSHを実行するSSH3プロトコル - ASnoKaze blog
IETFに『Secure shell over HTTP/3 connections』という提案仕様が提出されています。 これは、HTTP/3コネクション上でSSHを実行するプロトコルを定義しています。なお、"SSH3"という名称を仕様中で使用していますが、あくまで提案段階ですので今後変わる可能性もあります。 SSH3ではHTTP/3を使うことにより以下の特徴を... 続きを読む
逆向きに接続する Reverse HTTP Transport の仕様 - ASnoKaze blog
『Reverse HTTP Transport』という提案仕様がIETFに提出されています。著者はMetaとNokiaの方々らです。また、HAProxyの方も同様の機能を検討しているそうです(参考URL)。 普通のProxyサーバでは、Proxyサーバからオリジンサーバにコネクション確立するのが一般的です。そのためにオリジンサーバが外部から接続を受けら... 続きを読む
HTTPのキャッシュを無効化(Purge)するAPIの標準化する提案仕様 - ASnoKaze blog
CDNはキャッシュをパージする機能をよく有しています。そのキャッシュの無効化(パージ)を要求するためのAPIを標準化するための『An HTTP Cache Invalidation API』という提案仕様がIETFに提出されています。 この 提案仕様は、HTTP界隈では著名な Mark Nottingham氏による提案です。まだ最初の提案であり、来月あるIETF... 続きを読む
CookieのPartitioned属性 (CHIPS) の標準化はじまる - ASnoKaze blog
サードパーティCookieをトラッキングに使用できないようにする「Cookies Having Independent Partitioned State (CHIPS)」という仕組みが議論されています。 現在は、その仕組はW3CのPrivacy CGで議論されています。細かい仕組みは以前書いたとおりです。 ( トラッキングに利用できない3rdパーティクッキー「CHIPS」の仕... 続きを読む
一般ユーザに払い出すと危険なサブドメインやメールアドレス - ASnoKaze blog
ユーザに対して、そのユーザ名のサブドメインやメールアドレスを払い出すWebサービスがあります。 しかし、特定のサブドメインやメールアドレスは特別な用途で使われているものもあります。そのようなサブドメインやメールアドレスを一般ユーザに払い出してしまうと危険です。 現在、IETFでは仕様上利用用途が決められて... 続きを読む
NICからの割り込みを適切なCPUに振り分けるための、IPヘッダオプション - ASnoKaze blog
NICからの割り込みを適切なCPUに振り分けられるようなHintをIPヘッダオプションとして定義する「Multiple Core Performance Hint Option」という提案が提出されています。(特許としても申請中とのこと) ざっくり眺めて見ようかと思います。ここらへん詳しいわけではないので、間違いがあればご指摘ください。 背景 10G... 続きを読む
40年越しにTCPの仕様(RFC793)が改訂される - ASnoKaze blog
TCPのコア部分の仕様は1981年に発行された「RFC793 TRANSMISSION CONTROL PROTOCOL」で標準化されています。 この、RFC793の改訂版となる「Transmission Control Protocol (TCP) Specification」は、2013年からIETFのTCPM WGで議論されてきましたが、4月4日にIESGによって承認されました(参考URL)。現在はRFC出版の準備... 続きを読む
ブラウザでTCPを直接送受信できるDirect Sockets APIについて - ASnoKaze blog
ブラウザから直接TCP・UDPで送受信する「Direct Sockets API」という仕組みが議論されています。 実験段階ですが、Chromeでは起動時にオプションを付けることでこの機能を有効にできます。今回はTCPの方で簡単に動作を見てみます。 Direct Sockets API Direct Sockets APIは、TCP・UDPで直接送受信可能にするAPIです。既... 続きを読む
新しいHTTPメソッド、QUERYメソッドの仕様 - ASnoKaze blog
新しいHTTPメソッドを定義する「The HTTP QUERY Method」という提案仕様が議論されています。 もともとは、SEARCHメソッドという呼び名が候補としてあげられていましたが、長い議論ののち、一旦QUERYと呼ぶ方向となっております。最終的なFixについては、この draft 02の公開とともに改めてコンセンサスを求めた後に行わ... 続きを読む
0.0.0.0/8のIPアドレスなどを利用可能にする提案仕様 - ASnoKaze blog
IPv4アドレスの枯渇すると言われ続けております。 「The IPv4 unicast extensions project」では、予約されているIPアドレスなどをユニキャストアドレスとして利用可能にし、4億1900万ものIPアドレスを追加することを謳っています。 実際、IETFで予約済みアドレスをユニキャストアドレスとして使用できるようにする提案... 続きを読む
HTTP/2の改定版仕様の変更点について - ASnoKaze blog
2015年に標準化された、RFC7540 HTTP/2 の改定作業が進められています。 作業中のドキュメントは「http2bis」として公開されている。 現時点で含まれている変更点を見ていきます。なお、今後も変更が入る可能性はあります。 HTTPセマンティクス仕様を参照 もともとのHTTP/2の仕様では、HTTPメッセージのセマンティクスに... 続きを読む
タイムゾーンを含むタイムスタンプ文字列表現の標準化 - ASnoKaze blog
「Date and Time on the Internet: Timestamps with additional information」という提案仕様がIETFで提出されているので簡単に紹介する。 この仕様では、下記のようなタイムスタンプの文字列フォーマットの定義を行う 1996-12-19T16:39:57-08:00[America/Los_Angeles][u-ca=hebrew] 背景 TC39 Temporal Temporalという... 続きを読む
ZeroSSL ならIPアドレスのサーバ証明書が取得できる - ASnoKaze blog
IPアドレスのサーバ証明書が欲しい場合があります。 例えばDNS over HTTPSではIPアドレスでアクセス出来るように、有効な証明書がセットされていたりします。 https://1.1.1.1 https://8.8.8.8 しかし、無料でサーバ証明書が取得できるLet's Encryptでは、IPアドレスのサーバ証明書は取得できません ~$ sudo certbot cer... 続きを読む
Cookieの新しい属性、SameParty属性について - ASnoKaze blog
ChromeでCookieのSameParty属性の開発が進められている (コミット)。 現在のところ「SameParty cookie attribute explainer」に説明が書かれている。 今回は、CookieのSameParty属性について簡単にメモしていく。 背景 トラッキング対策、プライバシーの観点でサードパーティクッキーは制限する方向に進んでいる。その制... 続きを読む
CDNのキャッシュを制御する CDN-Cache-Control ヘッダ - ASnoKaze blog
CDNのキャッシュを制御する「CDN-Cache-Control」を新しく定義する提案仕様「The CDN-Cache-Control HTTP Response Header Field」が出ているので、簡単に紹介する。 はじめに HTTPではキャッシュを制御するのにCache-Controlヘッダを使用しますが、クライアントとは別にCDNに対して個別にキャッシュの制御を行いたい場... 続きを読む
POSTリクエストを冪等処理可能にするIdempotency-Keyヘッダの提案仕様 - ASnoKaze blog
はじめに HTTPリクエストには冪等なものと非冪等なものがあります。 仕様上、GETやOPTIONSは冪等であり、同じリクエストであれば何度行っても問題ありません。そのため通信上エラーが起こっても自動的にリトライすることが出来ます。 一方で、POSTリクエストは冪等ではありません。同じリクエストでも複数回行うと、結果... 続きを読む
ChromeのHTTP/2サーバプッシュサポート廃止検討と、103 Early Hintsについて - ASnoKaze blog
ChromeがHTTP/2サーバプッシュのサポートを廃止を検討し始めている。またPreload + 103 Early Hintsの有効性について実験していく模様 背景 HTTP/2(RFC 7540) にはサーバプッシュという機能があります。これは、クライアントからのHTTPリクエストをまたずにサーバがHTTPレスポンスを先行して送ることが出来る機能です。 ... 続きを読む
「RFC7525: TLSを安全に使うための推奨事項」の改定 - ASnoKaze blog
様々な組織や団体がTLSを安全に利用するためのドキュメントを出してたりする。 IETFでも2015年にRFC7525 「Recommendations for Secure Use of TLS and DTLS」として、使用する上での推奨事項をまとめている。 それについての詳細は、urushima先生の記事を見ていただくと良いと思う。 blog.livedoor.jp 上記のRFC7525か... 続きを読む
Linux 5.6 から Multipath TCPが使える - ASnoKaze blog
Linux 5.6から Multipath TCP(mptcp)が使えるようになった。複数インターフェースを使ってTCPコネクションをはり効率のよく通信を行う仕組みです。mptcp v0がRFC 6824で、mptcp v1がRFC 8684で標準化されています。 すでに、iOSでは利用が始まっています。 asnokaze.hatenablog.com 来月リリース予定である、Ubuntu 20.1... 続きを読む
ブラウザからTCP, UDPソケットを操作するRaw Sockets API - ASnoKaze blog
ブラウザでTCP, DUPソケットを操作可能にする「Raw Sockets API」という仕様がW3CのWICGで議論されている。 また、blink-devでも「Intent to Prototype: Raw Sockets API」とプロトタイプの議論が行われている。 多くの方がセキュリティ上の懸念を抱くと思うが、ドキュメントでも慎重に検討すると書かれている。Githubで... 続きを読む
HTTP/3をUDPロードバランサで分散するときの問題点 (AWS NLBで試してみた) - ASnoKaze blog
目次 はじめに UDPロードバランサ ラウンドロビン方式 ハッシュ方式 ハッシュの再計算 コネクションマイグレーションが出来ない その他の懸念事項 NLBを用いたハッシュの再計算の実験 QUICの負荷分散について はじめに HTTP/3はQUICというトランスポートプロトコルを利用しています。QUICはUDPを利用していますが、QUIC... 続きを読む
NginxでHTTP/3が動いた (Cloudflareパッチ) - ASnoKaze blog
NginxをHTTP/3対応させるパッチがCloudflareから提供されました (CloudflareのHTTP/3ライブラリ Quicheを利用しています。現状ではHTTP/3ドラフト23版の対応になります) github.com 基本的に、書いてるとおりにやればビルドできるのですが、無事HTTP/3しゃべるところまで確認できました ビルド rustインストールしておく... 続きを読む
Double-keyed HTTP cache に関するメモ - ASnoKaze blog
whatwgでfetchに関して「Double-keyed HTTP cache」という議論がされています。 github.com ブラウザ側でも動きがあり、下記で議論がされています Chromeでは「Intent to Implement: Partition the HTTP Cache」 Firefoxでは「Intent to Implement- Double-keyed HTTP cache」 背景 HTTPのキャッシュは、そのリソースが... 続きを読む
処理中のPOSTリクエストを別のサーバで引き継ぐPartial POST Replayについて - ASnoKaze blog
なんらかの理由でWebサーバを停止する場合に、処置中のPOSTリクエストをそのまま別のサーバで引き継げるようにする「HTTP Partial POST Replay」という仕様がFacebookのAlan Frindell氏から提出されています (HTTP Workshopの資料はこちら)。 スポットインスタンスを利用していたり、サーバの設定を変えて再起動したい場... 続きを読む
新しいWebの双方向通信 "WebTransport" について - ASnoKaze blog
WebTransportという新しい双方向通信フレームワークの議論が始まっている。 GoogleのPeter Thatcher氏らによって、W3C WICGにプロポーザルが投げられています。 discourse.wicg.io WebTransportは、WebSocketのようなAPIをもち、QUICやHTTP/3上で多重化されたストリームを利用し、ヘッドオブラインブロックのない通信を... 続きを読む