検索

SPDY は、Google によって開発された伝送制御プロトコル (TCP) に基づくアプリケーション層プロトコルであり、開発チームは SPDY が正式な標準になるよう推進しています (現在はインターネットドラフト)。スパイディ このプロトコルは、圧縮、多重化、優先順位付けを通じて Web ページの読み込み時間を短縮し、セキュリティを向上させるように設計されています。 (SPDY は Speedy の愛称であり、より速いという意味です)

SPDY と HTTP の関係

SPDY プロトコルの中心的な考え方は、接続数を最小限に抑えることです。また、HTTP のセマンティクスは大幅に変更されていません。具体的には、SPDY HTTPのメソッドとヘッダーを使用しますが、一部のヘッダーを削除し、接続やデータ転送形式を管理するHTTPの部分を書き換えているため、基本的にHTTPと互換性があります。

Google は SPDY ホワイトペーパーの中で、SPDY がプロトコル スタックに浸透し、トランスポート層プロトコル (TCP) を置き換えると述べていますが、これは現時点では展開と実装が非常に難しいため、 Google は、まずアプリケーション層プロトコル HTTP を改善し、まず SSL の上にセッション層を追加して SPDY プロトコルを実装する予定ですが、HTTP の GET および POST メッセージ形式は変更されません。つまり、既存のサーバー アプリケーションをすべて変更する必要はありません。変更されました。

したがって、現時点では、SPDY の目的は HTTP を強化し、HTTP のより良い実装とサポートを提供することです。今後SPDYが普及したら王子様のジャコウネコに取って代わられるかどうかについて。 HTTP に革命を起こし、インターネット全体に革命を起こすのが Google の仕事です。

なぜ新しい SPDY を構築するのでしょうか?

World Wide Web の父であるティム バーナーズ リーが HTTP を発明し、今日のインターネット上で最も人気のあるプロトコルになるよう推進してから 10 年以上が経過しました (現在の HTTP 1.1 仕様も停滞しています)。 13年)、今と同じように WebSocket プロトコルの登場や現在のネットワーク環境の変化、通信内容の変化など、WEB テクノロジーの急速な発展、特に HTML5 の進化に伴い、当初の HTTP 仕様では人々の HTTP ニーズを満たせなくなってきました。さらなる開発のため、HTTPbis の取り組み 現在 HTTP によって課されている制限の多くに対処することを期待して、HTTP 2.0 を検討するグループが形成され、認可されました。 SPDY は、次世代のインターネット通信を目指して、HTTP が 1.1 から 2.0 に移行しようとしているときに Google によって立ち上げられたプロトコルであり、長い間、HTTP 2.0 の唯一の実行可能なオプションと考えられてきました。

HTTPプロトコルの欠点

1. 一方向の接続リクエストは非効率です

HTTPプロトコルの最大の欠点は、各TCP接続が1つのHTTPリクエスト、つまり各HTTP接続にのみ対応できることです。 1 つのリソースのみを要求する場合、ブラウザは複数の接続を確立することによってのみ解決できます。加えて HTTP のリクエストは厳密に先入れ先出し (FIFO) です。途中のリクエストの処理に時間がかかると、後続のリクエストはブロックされます。

(注: HTTP パイプラインにより接続リクエストは改善されましたが、複雑さが大幅に増加しており、普及していません)

2. HTTP では、クライアントによってのみリクエストをアクティブに開始できます

クライアントがリクエストを送信するまで待機できることは、プリロードの現在のステータスを満たす上での制約になります。

3. HTTPヘッダーの冗長性

HTTPヘッダーは同じセッション内で繰り返し送信され、User-Agent、Host、および繰り返し送信する必要のないその他の情報などの冗長な情報は、繰り返し送信されるため、帯域幅とリソースが無駄になります。

SPDY プロトコルの利点

1. リクエストの多重化の最適化

SPDY は、SPDY 接続内で無制限の並列リクエストを許可することを規定しており、複数の同時 HTTP リクエストが TCP セッションを共有できるようになります。このようにして、SPDY は単一の TCP に多重化されます。 リクエストごとに個別の接続を開くのではなく、接続上で複数のリクエストを行うことで、Web ページ上のすべてのリソースを転送するために 1 つの TCP 接続だけを確立できます。これにより、メッセージのやり取りのラウンドトリップ時間が短縮されるだけでなく、新しい接続の作成によって生じる遅延。TCP をより効率的にします。

さらに、SPDYの多重化は優先順位を設定することができ、先入れ先出しに従ってリクエストを1つずつ厳密に処理する従来のHTTPとは異なり、CSSなどのより重要なリソースを最初に選択して送信します。 Web サイトのアイコンなどの重要度の低いリソースは、重要ではないリソースがネットワーク チャネルを占有する問題を回避し、パフォーマンスを向上させることができます。 TCPのパフォーマンス。

2. サーバープッシュテクノロジーをサポート

このプリロードにより、サーバーはクライアントへの通信をアクティブに開始し、ユーザーを高速なネットワークに維持できます。

3. SPDY は HTTP ヘッダーを圧縮します。

圧縮後、冗長なデータ送信によって生じる待ち時間と帯域幅を節約できます。

4. SSL 伝送プロトコルの使用の義務化

Google は、Web の将来の発展の方向性は、SSL 暗号化を要求した後、より安全になると考えています。

SPDYプロトコルの意味

Google によると、SPDY は Web を高速化すること (Web 全体を高速化すること) のみを目的として作成され、その名前は SPDY(スピーディ)もそれを示唆しているようだ。では、SPDY の重要性は何でしょうか?

1. 一般ユーザー:

ユーザーにとって、ブラウザの下に隠されている SPDY と HTTP に違いはありませんが、Google サービスは Chrome 上で非常に高速であると感じられます。 SPDY の功績です。また、Webサイトの情報送信は暗号化されるため、情報が傍受されるなどの心配がなく、セキュリティと機密性が大幅に向上します。

2. フロントエンドスタッフ:

現在、各ページが読み込まれるときに CSS スプライトなどのメソッドを使用して、ページの効率を向上させることが非常に重要です。ページがロードされました、写真、アイコン これらはすべて 1 つの接続を要求し、さらには、1 ページ上の画像リクエストの数を減らすために、異なるページ上の異なる画像を参照します。 SPDY のリクエストの最適化により、リクエストの順序を再配置できるようになり、ページがロードされるときの画像リクエストの影響を大幅に軽減できます。たとえば、Geek Park の 2012 Innovation Conference や Geek Park の第 27 回 Great Wall Conference など、Geek Park の登録ページの登録ユーザーが多すぎる場合、アバターのリクエストが遅くなるのは明らかです。タオバオやウェイボーを頻繁に利用する人ならよく理解していると思いますが、インターネットの速度が少し遅くなると、ページの読み込みに異常が発生することがあります。 App Store (地域によるサーバー遅延を除く)。以下のビデオに示すように、Doujia などのアプリケーション配布プラットフォームのアプリケーション アイコンの更新が遅くなります。

3. 運用および保守担当者:

SPDY は接続数を減らすと同時に、サーバー上の各クライアントが占有するリソースも削減し、より多くのメモリと CPU を解放します。さらに、SPDY を組み合わせると、ブラウジング速度が 2 倍になり、ページの読み込み遅延が最大 2 倍改善されます。 64%。

みんなに支持されているSPDYプロトコル

ChromeブラウザやGmailなどのGoogleネットワークサービスを使用している場合、実際にはHTTP経由でこれらのサービスにアクセスしていません。ブラウザで開く chrome://net-internals/#spdy では、すでに SPDY プロトコルを使用していることがわかります。 (Google 独自の Gmail、Google Plus、その他の Google サービスに加え、Twitter や Webtide などの他の公共サイトもこのプロトコルをサポートしています。中国では、WebKit をベースにした Wandoujia 2.0 が Chrome の SPDY テクノロジーを導入してさらに改善する予定であるとも述べています)速度: SPDY の実装には、ブラウザ クライアントと Web サーバーの両方からのサポートが必要です。言うまでもなく、Google の Chrome および Chromium シリーズは、クライアント ブラウザで SPDY をすでにサポートしています。 Mozilla の Firefox も、Firefox 13 以降デフォルトで SPDY をサポートしています。 Amazon の Silk による SPDY の使用は、実際には Google の Chrome や Firefox と比べても悪くありません。

Web サーバーに関しては、最も人気があり広く普及している Apache、Netty、Jeety、Varnish、Erlang、Hightide アプリケーション サーバーや Node.js サーバーも SPDY のサポートを発表しました。 (Nginx も SPDY をサポートすると述べています)

SPDY をデプロイするにはどうすればよいですか?

最近、Google は最も人気のある Web サーバー Apache 用のプラグイン mod_spdy を正式にリリースしました。これをダウンロードしてインストールすると、Apache サーバーで使用できるようになります。 SPDY プロトコルは、Chrome、FireFox など、SPDY プロトコルと互換性のあるブラウザと通信します。前述したように、SPDY は HTTPS 上で実行され、非 HTTPS トラフィックは mod_spdy の影響を受けません。

SPDY 導入要件:

1. Apache 2.2 (≥2.2.4)

2. mod_ssl モジュールが有効である

SPDY 導入手順:

1. mod_spdy モジュールをダウンロード

ダウンロードページに移動して、対応するシステムのインストールパッケージをダウンロードします2. mod_spdyモジュールをインストールします

システムターミナルで次のコマンドラインを実行します

dpkg -i mod-spdy-*. deb

apt-get -f install

-システムはDebian/Ubuntuです

---------------- -------- ----------------------------------

yum インストール先 ( 「at」がまだインストールされていない場合)

rpm -U mod-spdy-*.rpm

-システムは CentOS/Fedora です

3 サーバー (Apache) を再起動します。

sudo /etc/init.d /apache2 restart (Debian/Ubuntu)

4. 有効になっているかどうかを確認します

Chrome ブラウザを開き、chrome://net- と入力して移動します。 Internals/#spdy ページにアクセスし、識別バーの中央にホスト名が表示されるかどうかを確認します。表示されている場合は、展開が完了していることを意味します。表示されない場合は、サーバー エラー ログ (error.log) を確認してください。

上記では、nginx の spdy プロトコルをその側面も含めて紹介していますが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Springboot怎么使用内置tomcat禁止不安全HTTPSpringboot怎么使用内置tomcat禁止不安全HTTPMay 12, 2023 am 11:49 AM

Springboot内置tomcat禁止不安全HTTP方法1、在tomcat的web.xml中可以配置如下内容让tomcat禁止不安全的HTTP方法/*PUTDELETEHEADOPTIONSTRACEBASIC2、Springboot使用内置tomcat没有web.xml配置文件,可以通过以下配置进行,简单来说就是要注入到Spring容器中@ConfigurationpublicclassTomcatConfig{@BeanpublicEmbeddedServletContainerFacto

JAVA发送HTTP请求的方式有哪些JAVA发送HTTP请求的方式有哪些Apr 15, 2023 am 09:04 AM

1.HttpURLConnection使用JDK原生提供的net,无需其他jar包,代码如下:importcom.alibaba.fastjson.JSON;importjava.io.BufferedReader;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;importjava.net.HttpURLConnection;

Nginx的HTTP2协议优化与安全设置Nginx的HTTP2协议优化与安全设置Jun 10, 2023 am 10:24 AM

随着互联网的不断发展和改善,Web服务器在速度和性能上的需求也越来越高。为了满足这样的需求,Nginx已经成功地掌握了HTTP2协议并将其融入其服务器的性能中。HTTP2协议要比早期的HTTP协议更加高效,但同时也存在着特定的安全问题。本文将为您详细介绍如何进行Nginx的HTTP2协议优化和安全设置。一、Nginx的HTTP2协议优化1.启用HTTP2在N

nginx中如何升级到支持HTTP2.0nginx中如何升级到支持HTTP2.0May 24, 2023 pm 10:58 PM

一、前言#ssl写在443端口后面。这样http和https的链接都可以用listen443sslhttp2default_server;server_namechat.chengxinsong.cn;#hsts的合理使用,max-age表明hsts在浏览器中的缓存时间,includesubdomainscam参数指定应该在所有子域上启用hsts,preload参数表示预加载,通过strict-transport-security:max-age=0将缓存设置为0可以撤销hstsadd_head

Nginx中HTTP的keepalive怎么配置Nginx中HTTP的keepalive怎么配置May 12, 2023 am 11:28 AM

httpkeepalive在http早期,每个http请求都要求打开一个tpcsocket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次tcp连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少time_wait状态连接,以此提高性能和提高httpd服务器的吞吐率(更少的tcp连接意味着更少的系统内核调用,socket的accept()和close()调用)。但是,keep-ali

Python的HTTP客户端模块urllib与urllib3怎么使用Python的HTTP客户端模块urllib与urllib3怎么使用May 20, 2023 pm 07:58 PM

一、urllib概述:urllib是Python中请求url连接的官方标准库,就是你安装了python,这个库就已经可以直接使用了,基本上涵盖了基础的网络请求功能。在Python2中主要为urllib和urllib2,在Python3中整合成了urllib。Python3.x中将urllib2合并到了urllib,之后此包分成了以下四个模块:urllib.request:它是最基本的http请求模块,用来模拟发送请求urllib.error:异常处理模块,如果出现错误可以捕获这些异常urllib

Nginx http运行状况健康检查如何配置Nginx http运行状况健康检查如何配置May 14, 2023 pm 06:10 PM

被动检查对于被动健康检查,nginx和nginxplus会在事件发生时对其进行监控,并尝试恢复失败的连接。如果仍然无法恢复正常,nginx开源版和nginxplus会将服务器标记为不可用,并暂时停止向其发送请求,直到它再次标记为活动状态。上游服务器标记为不可用的条件是为每个上游服务器定义的,其中包含块中server指令的参数upstream:fail_timeout-设置服务器标记为不可用时必须进行多次失败尝试的时间,以及服务器标记为不可用的时间(默认为10秒)。max_fails-设置在fai

怎么利用Java实现调用http请求怎么利用Java实现调用http请求Jun 02, 2023 pm 04:57 PM

一、概述在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适。很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信、天气等)。在Java项目中调用第三方接口的方式有:1、通过JDK网络类Java.net.HttpURLConnection;2、通过common封装好的HttpClient;3、通过Apache封装好的CloseableHttpClient;4、通过SpringBoot-RestTemplate;二、Java调用第三方

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。