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

nginx1.9.3 HTTP/2 パッチを試す

1.9.5でHTTP2がサポートされました。Nginx 1.9.5 でHTTP2を試そう!(2015/0923) nginx 1.9.3のHTTP/2アルファパッチが公開されました。 https://www.nginx.com/blog/early-alpha-patch-http2/ 基本的には書いてあるとおりにヤレば簡単に動作します。 ubuntu1…

QUICの仕様(ドラフト)が公開されたので、概要を読む

新しい仕様の翻訳を公開しました(2018/10/31)QUICの仕様を翻訳していく http://d.hatena.ne.jp/ASnoKaze/20160725/1469374715 2018年追記 最新の状況、概要についてはこちら asnokaze.hatenablog.com QUICの仕様(ドラフト) 5月頃に、Googleのブログでも「Goo…

TLS Jump Startとは

TLS Jump Start CloudFlareの方によって、TLS Jump Startという仕様が提案されている。 雑にですが簡単に斜め読みした(例のごとく間違い等あるかと思います) https://tools.ietf.org/html/draft-vkrasnov-tls-jumpstart-00 TLSの通信では初期接続時に複数…

RFC7694 HTTP Client-Initiated Content-Encoding

Client-Initiated Content-Encoding HTTP Client-Initiated Content-Encoding https://tools.ietf.org/html/draft-ietf-httpbis-cice-00 という、HTTPに関する拡張仕様が提案されており、4月にhttpbisのWGドラフトになっている。 Accept-Encodingヘッダをレ…

Origin Cookiesとは

Origin Cookies GoogleのMike West氏による、Cookieに対する拡張が提案されている。 draft-west-origin-cookies-01では、同一生成元ポリシーと同様なセキュリティポリシーでCookieを扱えるように、Cookie(RFC6265)に"Origin"属性を追加し、HTTPヘッダに"Orig…

nginxのngx_stream_ssl_moduleでTLS終端+WebSocket負荷分散

先日、NginxのTCP Load BalancingがOSS版でも使えるらしいので試すで書いたとおり、Nginx 1.9よりTCP Load Balancing機能が使える見込みである。 今回は、更にTLS終端を可能にするngx_stream_ssl_moduleも合わせて使用し、WebSocket over TLSの負荷分散を試…

Chrome 43でUpgrade Insecure Requestsに対応してた

Upgrade Insecure Requests W3Cの仕様でUpgrade Insecure Requestsというものがある。 サブリソースのhttp://へのリクエストを自動でhttps://のものに変更する(下のデモサイトの例が分かりやすい。 指定方法としては以下の二通りである。HTTPレスポンスヘッ…

NginxのTCP Load BalancingがOSS版でも使えるらしいので試す

NginxのTCP Load Balancing(ngx_stream_core_module) もともとNginx+で利用できたTCP Load Balancing機能というものがある http://nginx.com/products/application-load-balancing/ HTTPにかぎらずTCPレイヤでロードバランシグ機能を提供する。つまりMySQLや…

ALPN HTTP Headerとは

TLS ALPNに関してはこちら TLS上でのプロトコルネゴシエーションの仕組み、NPNとALPN ALPN HTTP Header 現在、httpbis WGで提案されている「The Tunnel-Protocol HTTP Header Field」と言う仕様が、「The ALPN HTTP Header Field」に改称される見込みである…

Cache-Controlヘッダのstale-while-revalidateとは

20170215追記「Nginxがstale-while-revalidateに対応した」 http://d.hatena.ne.jp/ASnoKaze/20170211/1486820792 Chromeの「chrome://flags/」に「stale-while-revalidate キャッシュ指令を有効にする」と言うフラグがあったので、簡単に調べた。 「RFC5861…

Network Error Loggingでブラウザのネットワークエラーを検知する

w3c

20180528 追記 Chrome devに来たので試した asnokaze.hatenablog.com 20180301 追記 結構代わりました NELヘッダは、json形式で表現するようになりました。また、report APIに準拠する形になりました NEL: {"report-to": "network-errors", "max-age": 25920…

ChromeのERR_ICANN_NAME_COLLISION

名前衝突問題 gTLD(ジェネリックトップレベルドメイン)が新しく追加され、.officeや.devというTLDが使用されるようになった。 今まで使用されていなかったTLDが追加されたことにより、組織内だけで使っていたドメインと衝突するという問題外起こっている。…

MPEG‐DASHにおけるHTTP/2の使用、DASH-PUSHの提案

MPEG-DASHとHTTP/2 MPEG-DASH(Dynamic Adaptive Streaming over HTTP)と呼ばれるHTTP上で環境に合わせてビットレートを変更しながらストリーミングできる仕組みがある。このMPEG-DASHにHTTP/2を使うという話がいくつか出てきている。 たとえば、BBCの「Adapt…

Chromeの「既定のrefererヘッダーの情報量を減らす(reduced-referrer-granularity)」フラグ

Chromeのchrome://flags/に「既定のrefererヘッダーの情報量を減らす(reduced-referrer-granularity)」フラグがある。 その動作を確認したので簡単にまとめる reduced-referrer-granularity このフラグを有効にした場合、現在のオリジンと別のオリジンへのリ…

Chromeで「接続は古い暗号化技術により暗号化されています」の表示条件

TLS

最新のchromeでは表現が変わったようです。 「"このサイトへの接続では安全性の高いプロトコル バージョンと暗号スイートが使用されています。"」 security_info->is_secure_protocol_and_ciphersuite = (net::SSLConnectionStatusToVersion(security_info->…

mod_h2を使って、ApacheをHTTP/2対応する

mod_h2はapache2.5 devに組み込まれました。 以下の手順では正しくビルドできなくなりました。ご注意下さい。 (09/04追記) mod_h2はapache2.4.17に組み込まれました そちらでのビルド手順を、後日記事を書こうと思います (10/14追記) http://www.apache.org/…

HTTP/2 Connection Prefaceの理由と経緯

HTTP/2 Connection Prefaceとは HTTP/2では通信の最初に「コネクションプリフェイス(Connection Preface)」というメッセージを送信します。 クライアント側は「クライアントコネクションプリフェイス」と呼ばれる以下のメッセージを送信します。 0x505249202…

CookieのFirst-Party-Only属性

draft 05より、「Same-site Cookies」という仕様に改称され、SameSite属性として属性が定義されました。 http://tools.ietf.org/html/draft-west-first-party-cookies-05 (2016/01/28) Googleの方による、CookieにFirst-Party-Only 属性を追加するという仕様…

h2-ping - HTTP/2のPINGフレームを送り続けるだけのスクリプト

h2-ping http-2 gemの使い方をお勉強するために、HTTP/2のPINGフレームを送り続けるだけのスクリプトを書きました。 機能も出力もお粗末ですが、http-2 gemのexampleが非常に分かりやすく、かつ便利なので殆どコピペしただけで出来てしまいました。https://g…

SSLv3の使用が禁止される話 (RFC7568)

20181106追記RFC7568として「Deprecating Secure Sockets Layer Version 3.0」標準化されています。 現在はTLS1.0, TLS1.1の廃止が検討されていますasnokaze.hatenablog.com TLS WGでは「Deprecating Secure Sockets Layer Version 3.0(draft-ietf-tls-sslv3…

NGINXのSPDYの送受信フレーム数を可視化する

Webサーバであれば当然、各レスポンスコード毎にグラフ化して4xxがしきい値を超えた場合はアラートを投げたりすると思います。 その他にも各種グラフはサーバ運用する上で非常に有益なものになります。SPDYやHTTP/2でも同様だと考えられます。 今回は、簡単…