検索

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 までご連絡ください。
PHPの継続的な使用:その持久力の理由PHPの継続的な使用:その持久力の理由Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

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ヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

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 プラットフォームで実行できます。