HTTP

Cookieにかわる Sec-HTTP-State ヘッダの提案

20190424 追記 IETFに提案仕様が提出されました https://tools.ietf.org/html/draft-west-http-state-tokens-00 Cookieの様々な問題を解決するために、Webセキュリティー界隈で活躍されるMike West氏から「Tightening HTTP State Management」というCookieに…

Fetchの仕様で application/report を送信時にCORSが必要になった

以前このブログでも書いたNetwork Error Loggingなど、Webサイトを表示する際に発生した問題のレポートを指定されたエンドポイントに送信する機能が増えてきている。 asnokaze.hatenablog.comこのレポート送信に関する仕様はReporting APIで定義されている。…

Clear-Site-Dataヘッダでブラウザに記憶されているデータを消す

Webブラウザは表示したサイトに関する様々なデータを記憶しています例えば cookie cache HTTP認証の情報 localStorage service worker registrations しかしサーバ側からこれらのデータを明示的に消すのは難しい場合があります。例えば、httpOnlyのcookieは…

(RFC8586) Forwarding-Loop Attacks攻撃を防ぐCDN-Loopヘッダの提案仕様

RFC 8586 Loop Detection in Content Delivery Networks (CDNs)として、標準化されました (2019/4/25 追記) Forwarding-Loop Attacks攻撃を防ぐ「CDN Loop Prevention」 という仕様が提案されています。 背景 CDNへのDoS攻撃として、リクエストをCDN内でル…

Cross-Origin-Resource-Policyヘッダとは

Cross-Origin-Resource-PolicyヘッダというのがSafari 12でサポートされるらしい。もともとは、W3C側でFrom-Originと呼ばれていた仕組みらしいが、Fetch Starndardに入れる議論がされているようだ。github.comこのCross-Origin-Resource-Policyヘッダを用い…

GREASE for HTTP/2 の提案仕様

AkamaiのMike Bishop氏から、「GREASE for HTTP/2」という提案仕様が出ています。HTTP/2では、未知のフレームタイプとSETTINGSパラメータは無視するようになっています。これは、将来HTTP/2を拡張できるようにするためで、実際に「RFC 8336 The ORIGIN HTTP/2…

Chromeにおいて非セキュアなHTTPで送信されたCookieの有効期限を短くする議論

暗号化してないHTTPで送信されたCookieの有効期限を短くしたいという議論は、Mozillaでも以前から行われてきました。「Intent to ship: Treat cookies set over non-secure HTTP as session cookies」。もちろん、IETFでもMozillaのMartin Thomson氏らによっ…

HTTP Server Pushのセマンティクス拡張する、HTTP Server *ush の提案仕様

4/1 に「HTTP Server *ush」という提案仕様が、IETFに提出されています。4/1にです。 HTTP Server *ush 「HTTP Server Push」の音節構造は非常に舌に馴染むものです。HTTP Server Pushの成功の一つの理由でしょう。そこで、同じ音節構造を持つ様々な「HTTP S…

ChromeがWebSockets over HTTP/2に対応したので試す (RFC8441)

2018/09/19追記 RFC 8441 として標準化されました 以前書いたとおり、Websockets over HTTP/2の仕様である「Bootstrapping WebSockets with HTTP/2」が現在標準化が進められている。 asnokaze.hatenablog.comこれにより、複数のWebsocket通信が1つのTCPコネ…

QUIC over DTLSの提案仕様

20180601追記 asnokaze.hatenablog.com 「QUIC over DTLS」という提案仕様ekr氏が出され、QUIC WGのメーリングリストで「Proposal: Run QUIC over DTLS」としてDTLS上でQUICのメッセージを通信するように変更する提案がされている。 QUICのスタック 現在のQU…

HTTP/1.1 (RFC 7230 〜 7235) の改訂作業がはじまる

HTTPはRFC 7230 〜 7235で標準化されていますが、セマンティクスの仕様として再改定作業が始まっています。その仕様の構成について説明します。

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

20180313追記 QCRAMと呼ばれていた仕様は、QPACKに改称されました。 github.com HTTP over QUICでは、HTTP/2のフレームを利用するが、HTTPヘッダ圧縮にHTTP/2のHPACKをそのまま使用するのはHoLBの問題が知られている。HPACKでは、ヘッダが送った順番通りに届…

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://…

Application-Layer TLS の標準化動向

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

DNS ALTSVC recordの提案仕様

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

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

ちょっと不明瞭な部分が修正できてません。すみません。20180824追記 Loading Signed Exchangesについて記事を書きました Loading Signed Exchangesの仕様 (WebPackaging) - ASnoKaze blog20180213補足 「Origin-signed HTTP Responses」は「Signed HTTP Exc…

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

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

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 …

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

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

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 の提案仕様 (draft-00)

2019/12/17追記 draft-14ベースで記事を書き直しました。 (また、最新仕様では 名称が "Structured Field Values for HTTP" に変更されました) asnokaze.hatenablog.com以下は古い記事です。 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のプライオリティ制御…