H2Oは、
C言語で記述されたフリーかつオープンソースの
Webサーバソフトウェアです。MIT
ライセンスの下で配布されており、誰でも自由に利用、改変、再配布が可能です。
概要
H2Oは、
HTTP/2|HTTP_2とTLSを前提として設計されており、従来のHTTP/1.xプロトコルよりも高速な通信を実現します。特に、
HTTP/2|HTTP_2の持つ優先度制御やサーバプッシュといった機能を最大限に活用することで、従来の
Webサーバソフトウェアであるnginxなどと比較して、大幅な処理速度の向上が期待できます。これにより、ウェブサイトやアプリケーションのパフォーマンスを向上させ、ユーザーエクスペリエンスの向上に貢献します。
特徴
H2Oは、以下のような多くの特徴を備えています。
HTTP/1.0及びHTTP/1.1のサポート: 従来のHTTPプロトコルとの後方互換性を保ち、既存のシステムでも円滑に利用できます。
HTTP/2|HTTP_2のサポート: HTTP/2|HTTP_2の機能をフルに活用し、効率的なデータ転送と高速なウェブページの読み込みを実現します。
サーバ側での微調整付きの依存関係と重み付けに基づいた優先度制御の完全なサポート: リソースの優先度を細かく制御することで、よりスムーズなウェブ体験を提供します。
ウェブブラウザのキャッシュを利用したサーバプッシュ: 必要なリソースを事前にプッシュすることで、ウェブページの読み込み速度を向上させます。
HTTP/3|HTTP_3のサポート (実験的): 最新の
HTTP/3|HTTP_3プロトコルにも対応しており、将来的なネットワーク技術の進化にも対応できます。
TCP Fast Open: TCP接続の確立を高速化し、応答性の高いウェブ体験を実現します。
TLSのサポート: 通信の暗号化により、安全なウェブサイト運営をサポートします。
セッション再開 (スタンドアローン及びmemcached): セッション情報を効率的に管理し、ユーザーの利便性を向上させます。
自動的な鍵のロールオーバーを利用したセッションチケット: セキュリティを維持しながら、セッション管理を効率化します。
自動的なOCSPステープリング: 証明書の有効性を確認し、セキュリティを向上させます。
前方秘匿性及び高速な認証付き暗号である暗号スイート: 高度な暗号化技術により、安全な通信環境を提供します。
特権分離を利用した秘密鍵の保護: 秘密鍵を安全に保護し、セキュリティリスクを低減します。
静的ファイルの提供: 静的コンテンツの配信を効率的に行い、ウェブサイトの表示速度を向上させます。
FastCGIのサポート: 外部アプリケーションとの連携を可能にし、動的なウェブサイト構築を容易にします。
リバースプロキシ: 複数のサーバを効率的に管理し、負荷分散やセキュリティ向上に貢献します。
mrubyによる拡張 (Rackベース): スクリプト言語mrubyによる拡張をサポートし、柔軟な機能拡張を可能にします。
緩やかな再起動と自己アップグレード: ダウンタイムを最小限に抑え、システムの安定稼働をサポートします。
歴史
H2Oは、2014年7月にDeNA社内のモバイルゲーム用サーバとして、
奥一穂氏を中心に開発が開始されました。同年12月には最初のバージョン(0.9.0)がリリースされ、その後、
HTTP/2|HTTP_2の仕様が正式に承認された2015年2月には最初の安定版がリリースされました。
脚注
H2Oは、活発な開発コミュニティによって支えられており、継続的に改善が行われています。
関連項目
Fastly: H2Oの世界最大の利用者であり、
奥一穂氏が2017年1月から所属しています。
Fastlyは、H2Oを大規模なコンテンツ配信ネットワークで活用し、高速なウェブ体験を提供しています。
外部リンク
公式ウェブサイト: 公式ウェブサイト
*
h2o - [GitHub]]: [GitHubリポジトリ