• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

最新Java情報局

Java SE 9の実験的API、HTTP/2 ClientでHTTP/2の高速化手法を知る

櫻庭 祐一=Java in the Box 2017/09/21 ITpro

 前回まで、Java SE 9の実験的API「HTTP/2 Client」について、HTTP/1.1の範囲の機能を紹介してきました。しかしその名称の通り、最も重要な機能と言えるのがHTTP/2のサポートです。今回はHTTP/2に特有の機能を紹介していきます。

 まず、HTTP/2について簡単に触れ、その後にHTTP/2 ClientにおけるHTTP/2関連の機能を紹介します。

HTTP/2とは

 HTTP/2はHTTPの高速化を目的としたプロトコルです。IETFによって2015年2月に承認されました。HTTP/1.1の策定が1997年ですから、18年ぶりのバージョンアップです。

 HTTP/2はもともと米Googleが提唱していた「SPDY」をベースに策定されました。Googleは2016年にSPDYのサポートを終了し、現在はHTTP/2に置き換えています。

 HTTP/2では以下のような高速化技術が導入されています。

  • ストリームを用いた通信の多重化
  • サーバープッシュ
  • ヘッダーの圧縮

 通信の多重化はHTTP/1.1のパイプライン機能でも可能でしたが、実際に使用するには問題が多く、ほとんど使われることはありませんでした。ストリームはパイプラインの問題を解決した新しいプロトコルを採用しています。

 サーバープッシュは、クライアントが要求を行う前にサーバーがリソースを送信する技術です。プッシュされたリソースはキャッシュに保持されますが、クライアントはプッシュされたことは検知しません。クライアントがリソースを要求した時には、すでにそのリソースはダウンロードしてあるので、見かけ上高速化されるのです。双方向通信が必要な用途には、次回紹介するWebSocketを使用します。

 HTTP/1.1ではボディーの圧縮は行われていましたが、HTTP/2ではヘッダーも圧縮されるようになりました。

 HTTP/2 Clientではこれらの機能はすべてサポートしています。このうちサーバープッシュやヘッダーの圧縮に関しては、多くのユーザーは気にする必要はありません。そこで、本記事では多重化について紹介していきます。

ここから先はITpro会員(無料)の登録が必要です。

次ページ HTTP/2 ClientでのHTTP/2サポー...
  • 1
  • 2
  • 3
  • 4
  • 5

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る