<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ストリーム３本圧縮転送 | ～下町物語～</title>
	<atom:link href="https://blog.rurineko.com/archives/tag/%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%EF%BC%93%E6%9C%AC%E5%9C%A7%E7%B8%AE%E8%BB%A2%E9%80%81/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.rurineko.com</link>
	<description>入り組んだ現代社会に鋭いメスを入れ、おもしろおかしく書綴るブログである</description>
	<lastBuildDate>Fri, 17 Nov 2017 17:30:47 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://blog.rurineko.com/wp-content/uploads/2017/04/cropped-image2_9-32x32.jpg</url>
	<title>ストリーム３本圧縮転送 | ～下町物語～</title>
	<link>https://blog.rurineko.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://blog.rurineko.com/archives/tag/%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%EF%BC%93%E6%9C%AC%E5%9C%A7%E7%B8%AE%E8%BB%A2%E9%80%81/feed"/>
	<item>
		<title>HTTP/2に対応</title>
		<link>https://blog.rurineko.com/archives/9556</link>
		
		<dc:creator><![CDATA[rurineko]]></dc:creator>
		<pubDate>Fri, 17 Nov 2017 23:18:28 +0000</pubDate>
				<category><![CDATA[1.趣味関連]]></category>
		<category><![CDATA[2.IT関連]]></category>
		<category><![CDATA[Linux(Apache)WebServer]]></category>
		<category><![CDATA[Linux(ミドル）]]></category>
		<category><![CDATA[Linux（OS）]]></category>
		<category><![CDATA[HTTP/2]]></category>
		<category><![CDATA[HTTP／２]]></category>
		<category><![CDATA[まだまだ、HTTP/1.1]]></category>
		<category><![CDATA[ストリーム３本圧縮転送]]></category>
		<category><![CDATA[中には既にHTTP/2]]></category>
		<category><![CDATA[実装]]></category>
		<category><![CDATA[速い]]></category>
		<guid isPermaLink="false">https://blog.rurineko.com/?p=9556</guid>

					<description><![CDATA[<p><span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">この記事を読む およそ時間</span> <span class="rt-time"> 1未満</span> <span class="rt-label rt-postfix">分</span></span>HTTP／２実装 このブログを少しでも高速にすべく施策を先ほどリリースしました。それは、掲題にも書いている通りHTTP/2による通信を実施しました。iPhone７でみる限り、HTTP/2通信でアクセスされていることを確認 [&#8230;]</p>
<p>The post <a href="https://blog.rurineko.com/archives/9556">HTTP/2に対応</a> first appeared on <a href="https://blog.rurineko.com">～下町物語～</a>.</p>]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">この記事を読む およそ時間</span> <span class="rt-time"> 1未満</span> <span class="rt-label rt-postfix">分</span></span><h2 id="midashi2">HTTP／２実装</h2>
<p><img decoding="async" class="alignnone size-full wp-image-9557" src="https://blog.rurineko.com/wp-content/uploads/2017/11/SnapCrab_NoName_2017-11-18_2-20-12_No-00.jpg" alt="" width="316" height="106" /></p>
<p>このブログを少しでも高速にすべく施策を先ほどリリースしました。それは、掲題にも書いている通りHTTP/2による通信を実施しました。iPhone７でみる限り、HTTP/2通信でアクセスされていることを確認しています。</p>
<p><img decoding="async" class="alignnone size-full wp-image-9559" src="https://blog.rurineko.com/wp-content/uploads/2017/11/SnapCrab_NoName_2017-11-18_2-22-23_No-00.jpg" alt="" width="152" height="40" /></p>
<h3 id="midashi3">HTTP/2って速いの？</h3>
<p>高速化する仕組みは、下記の図の通りです。</p>
<p><img fetchpriority="high" decoding="async" class="alignnone size-thumbnail wp-image-9558" src="https://blog.rurineko.com/wp-content/uploads/2017/11/SnapCrab_NoName_2017-11-18_2-20-3_No-00-400x214.jpg" alt="" width="400" height="214" srcset="https://blog.rurineko.com/wp-content/uploads/2017/11/SnapCrab_NoName_2017-11-18_2-20-3_No-00-400x214.jpg 400w, https://blog.rurineko.com/wp-content/uploads/2017/11/SnapCrab_NoName_2017-11-18_2-20-3_No-00.jpg 422w" sizes="(max-width: 400px) 100vw, 400px" /></p>
<p>ストリームはクライアント−サーバー間を結ぶ仮想的なコネクションのようなもので、1つのHTTP/2コネクション内で同時に複数のストリームを確立できる。HTTP/2ではこのストリーム内でリクエストやレスポンスをやり取りする仕組みになっている。</p>
<p>ストリームはそれぞれ独立しており、あるストリームでやり取りされている内容がほかのストリームに影響を及ぼすことはない。そのため複数のリクエスト/レスポンスを同時並行的に処理でき、レスポンスを返すための処理に時間がかかるようなケースでも、その間に別のリクエスト/レスポンスを処理することが可能となった。たとえば<b>上記図</b>の例では3つのストリームが確立されており、それぞれのストリーム内でのリクエストやレスポンスはほかのストリームの状態によらず送受信が可能になっている。</p>
<p>ストリームごとに「優先度」を設定することも可能で、たとえばコンテンツの表示に必須のデータを優先して送信する、といった処理も可能だ。また、ストリーム毎にフロー制御を行う機能も用意されている。</p>
<p>そのほか、従来のHTTPはクライアント/サーバー間はテキストベースで行われていたが、HTTP/2ではクライアント/サーバー間の通信がバイナリベースで行われるようになった。さらにクライアント/サーバー独自に機能を拡張するための仕様も策定されている。</p>
<p>このように、HTTP/2ではクライアント/サーバー間でやり取りを行う方式が大きく変わっているが、送受信されるデータについては従来のHTTPからは変わっていない。リクエストやレスポンスに「キー:値」形式のHTTPヘッダが付与される点も同じだ。そのため、たとえばCookieやHTTPヘッダを使った認証などはまったく同じように動作する。さらにHTTPヘッダの送受信時には圧縮/展開が行われるようになり、効率的なやり取りが可能となった。</p>
<p>また、HTTP/2のもう1つの大きな新機能として、リクエストされていないコンテンツをサーバーがクライアントに送信する「サーバープッシュ」機能がある。たとえばクライアントがHTMLファイルをリクエストした場合、それに続いてそのHTMLファイル内で指定されているCSSファイルやスクリプトファイルなどがリクエストされる可能性が高い。サーバープッシュ機能を利用することでそういった関連ファイルを自動的にサーバーからクライアントに送信することが可能になり、クライアントがリクエストを行うオーバーヘッドを削減できる。</p><p>The post <a href="https://blog.rurineko.com/archives/9556">HTTP/2に対応</a> first appeared on <a href="https://blog.rurineko.com">～下町物語～</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
