タグ

ブックマーク / asnokaze.hatenablog.com (7)

  • HTTP/2の改定版仕様(RFC9113)の変更点について - ASnoKaze blog

    2015年に標準化された、RFC7540 HTTP/2 の改定作業が進められています。 作業中のドキュメントは「http2bis」として公開されている。 現時点で含まれている変更点を見ていきます。なお、今後も変更が入る可能性はあります。 HTTPセマンティクス仕様を参照 もともとのHTTP/2の仕様では、HTTPメッセージのセマンティクスについて既存のHTTP/1.1の仕様を参照していました。しかし、HTTP/1.1の仕様はHTTPセマンティクス仕様に分離整理されました。 それにあわせて、改訂版ではその新しいHTTPセマンティクス仕様を参照しています。ヘッダやボディといった用語について変更された部分があるので、HTTP/2の改訂版仕様でも用語の使い方をあわせています。 セマンティクス側の変更点について以前書いた記事を参照ください。 asnokaze.hatenablog.com TLS 1

    HTTP/2の改定版仕様(RFC9113)の変更点について - ASnoKaze blog
    potato777
    potato777 2021/10/04
  • HTTPと硬直化 (ossification) の問題 - ASnoKaze blog

    「硬直化(ossification)」はあまり聞き慣れない言葉だが、インターネットやWebの通信において問題となってきています。 新しい機能の展開を阻害するこの問題は、HTTPにおけても問題になっておりましたが、HTTPの標準化を行うIETFで動きがありました。 IETFのHTTP WGではオープンレターとして「HTTP and Web Application Firewalls: Managing Ossification Risk」を公開し、WAFベンダと連携してこの問題に取り組んでいく意思が示されています。 この事に関して簡単に説明していきます 目次 硬直化(ossification) とは HTTPにおける 硬直化(ossification) グリス (GREASE)の例 HTTPにおけるGREASE 硬直化(ossification) とは 「硬直化(ossification)」

    HTTPと硬直化 (ossification) の問題 - ASnoKaze blog
    potato777
    potato777 2020/07/09
  • 処理中のPOSTリクエストを別のサーバで引き継ぐPartial POST Replayについて - ASnoKaze blog

    なんらかの理由でWebサーバを停止する場合に、処理中のPOSTリクエストをそのまま別のサーバで引き継げるようにする「HTTP Partial POST Replay」という仕様がFacebookのAlan Frindell氏から提出されています (HTTP Workshopの資料はこちら)。 スポットインスタンスを利用していたり、サーバの設定を変えて再起動したい場合、新しいリクエストは受け付けないようにし、すでに来ているリクエストのみ処理をするのは一般的です。それでも大きなファイルをアップロードしているPOSTリクエストは処理が終わるまで時間がかかってしまう場合がありあります。 やむをえずPOSTリクエストの処理を中断してしまうと、ユーザは再度大きなファイルをアップロードしなおす必要があり、とてもストレスがかかります。 「HTTP Partial POST Replay」では、ユーザの接続

    処理中のPOSTリクエストを別のサーバで引き継ぐPartial POST Replayについて - ASnoKaze blog
    potato777
    potato777 2019/07/02
  • Nginxで、リクエストを複製するmirrorモジュールが標準搭載された - ASnoKaze blog

    [20170809追記] nginx-1.13.4に ngx_http_mirror_module は含まれました Nginxで、リクエストを複製するmirrorモジュールがコミットされ、何もせずとも使用できるようになりそうです(現状最新コミットをビルドする必要あり)。 例えば番環境のproxyからリクエストを複製して開発環境に流すような事も出来ます。もちろん複製処理は来のリクエスト処理をブロックしません。 例えば以下のように、mirrorに来たリクエストを複製してバックエンドサーバに投げるようにしてみます conf server { listen 80 ; server_name localhost; mirror_request_body on; log_subrequest on; location /mirror { mirror /proxy; #/proxy宛にリクエストを

    Nginxで、リクエストを複製するmirrorモジュールが標準搭載された - ASnoKaze blog
    potato777
    potato777 2017/07/24
  • HTTP/2の運用に関する考察のI-D - ASnoKaze blog

    5月末に、「HTTP/2: Operational Considerations for Servers」というI-Dが公開された。 サーバでHTTP/2対応する際の、パフォーマンスや運用性に関する注意点などが述べられている。 主な項目は以下の通りである TCPの設定 TLSの設定 ロードバランスとフェイルオーバー HPACKの使用 フロー制御の使用 優先付けの使用 サーバプッシュの使用 (ただし、4〜7についてはTBDとなっている) 書かれていることについてざっとメモ... TCPの設定 Webサイトを表示する際、HTTP/1ではリソースのダウンロードに複数のTCPを使用する。HTTP/2ではひとつのTCPを使うように設計されています。 ひとつのTCPコネクションを使いまわすのは多くのメリットがあるとともに、HTTPを"公平"なプロトコルにしている。反面、TCPのスロースタートアルゴリズ

    HTTP/2の運用に関する考察のI-D - ASnoKaze blog
  • SPDY対応するために考えてること - ASnoKaze blog

    概要 若者の間でも、SPDYに対応するためのノウハウが共有されていないことは有名である。 そこで、中規模サイトでSSL化、SPDY対応という観点で個人的に考えていることを書き出してみる。 HTTP2は暗号化の議論や、アップグレード、ヘッダ圧縮など細部が違うため別途考慮する必要があるが、今回の話も概ね適応できるだろう。 今回主に考える構成としては、以下の様に前段にリバースプロキシを置く構成である。 幾つかSPDY対応しているソフトウェアがあるが、現状NGINXが無難だと考えているので、NGINX前提で話を進める。 (SPDY対応のロードバランサ製品の導入も出来るだろうが、今回は考慮しない) SSL化とSPDY対応 SDPYではSSL化が必須である。これは、SSLハンドシェイク時にHTTPSとSPDYのどちらで通信を行うかネゴシエーションしているためである(TLS上でのプロトコルネゴシエーショ

    SPDY対応するために考えてること - ASnoKaze blog
  • Webを支えるプロトコル - ASnoKaze blog

    若者のプロトコル離れが叫ばれて久しいが、最近プロトコルは非常にホットな分野である。 目まぐるしく進化するWebに合わせ、プロトコルの世界も着実に進化している。 今までブラウザでは出来なかった事が出来るようになり、Webサービスをより安全に使えるようになった。 そしてWebのパフォーマンスを大きく改善するためにHTTP2.0も議論されている。 Webを支えるプロトコルとして、大きく分けて3つに分けられるかと思う(私の勝手なイメージ、正確な図ではありません) Webアプリケーション ブラウザが今まで出来なかったことを出来るようにしたり、Webアプリケーションの認証・認可などの機能を提供するプロトコルなど。JSやサーバサイドプログラミングで利用したりする。 WebSocket (http://tools.ietf.org/html/rfc6455) ブラウザとWebサーバの間でソケット通信を行う

    Webを支えるプロトコル - ASnoKaze blog
  • 1