HTTP/2:Webページの読み込み速度の革新的な改善
HTTP/2は、パフォーマンスの問題を解決し、ウェブサイトの読み込み時間を短縮するように設計されたHTTP/1.1への主要なアップグレードです。これは、多重化されたストリーム、サーバープッシュ、ヘッダー圧縮、バイナリ形式などの機能を通じてこれを達成します。
多重化により、複数のリクエストと応答を単一のTCP接続で同時に送信できるようになり、うっ血と速度が向上します。サーバープッシュは、ブラウザのキャッシュにリソースを積極的に送信し、パフォーマンスを向上させます。ヘッダー圧縮により、データの検索時間と帯域幅の使用が削減されます。バイナリ形式の処理は簡単で、サーバーのワークロードとページの読み込み時間を短縮します。
開発者は、Image Sprite、Inline、File Connectionなどのソリューションを使用して、Webページのリクエストの数を減らす必要がなくなります。ただし、ほとんどのHTTP/2対応ブラウザにはHTTPS暗号化が必要であるため、スイッチングを検討しているユーザーに課題が発生する場合があります。
HTTP/2には多くの利点がありますが、帯域幅とプライバシーの問題を無視していることで過度に焦点を合わせていることでも批判されています。 HTTP/2は、技術の急速な発展と、変化する技術的課題に対処するためのより柔軟なプロトコルの必要性のために長続きしないかもしれないと考えています。
http/1.1がどのように機能するか
Webページにアクセスすると、ブラウザはWebサーバーからページのすべてのリソースを要求してページを取得します。 Webの誕生以来、これは主にHTTP/1.1を通じて行われています。
時間が経つにつれて、テクノロジーは進化し続け、ウェブサイトはますます複雑でリソース集中的になり、HTTP/1.1プロトコルは圧力が高まり、パフォーマンスの問題に対処するために多くの回避策が必要です。
今日のWebページには、通常、画像、テキスト、フォントなどの多くのリソースが含まれているため、90年代や2000年代よりもはるかに重いリソースが含まれています。その結果、彼らはより長く読み込まれるため、Webデザイナーと開発者はこの問題を解決するために巧妙な回避策を考え出します。ただし、HTTPプロトコル自体を更新する必要があることは明らかです。
http/2がどのように機能するか
ブラウザは引き続きサーバーにリクエストを送信し、必要なリソースへの応答を受信して、Webページが適切に表示できるようにしますが、2つの間のニュアンスは変更されます。 HTTP/2は、多重化されたストリーム、サーバープッシュ、ヘッダー圧縮、バイナリ形式などの新しい機能を紹介します。
多重化ストリーム:多重化はこれらのリソースを小さな部分に渡し、接続を通過させ、最終目的地(ブラウザ)に到達したらリソースを再組み立てし、それによって多くの接続配信によって引き起こされる渋滞の問題を排除します。テキスト、フォント、写真などのリソース。
サーバーのプッシュ:サーバープッシュは、ブラウザにリソースを配信するためのより効率的な方法を表します。 HTTP/1環境では、HTMLページがブラウザに送信されます。これにより、それを解析して必要なリソースを決定し、サーバーからそれらのリソースを要求する必要があります。この点でHTTP/2はより積極的であり、ブラウザがリクエストなしで必要とする可能性のあるリソースを送信します。これらのリソースはブラウザのキャッシュに入り、必要に応じてすぐに利用できます。これはパフォーマンスの利点です。
ヘッダー圧縮: http/1では、各送信要求には、ブラウザーまたはサーバーの動作方法を説明する追加データのごく一部(HTTPヘッダー)が添付されています。平均して、ブラウザは一度に約6つの接続を行うことができますが、典型的なWebページをロードするのに必要な接続の数が100にも達する可能性があることを考えると、これには時間と帯域幅がかかる大量のデータを取得する必要があります。 。 HTTP/2接続が確立されると、すべてのヘッダーが圧縮ブロックにパッケージ化され、全体として送信されます。より速く送信し、トランスミッションが完了した後、ヘッダーブロックがデコードされます。
バイナリ形式:テキスト形式には、改善が必要な追加のオーバーヘッドがありますが、バイナリ形式では解析は必要ありません。また、よりコンパクトです。サーバーの余分な作業は、ウェブページがロードされるのを待つための余分な時間を意味します。これが、バイナリ形式の処理が容易であり、合理的な改善である理由です。
開発者が今できることは何でもできる
開発者は、Webページのリクエスト数を減らす必要がないため、画像スプライト、インライン、ファイル接続を処理する必要がなくなります。基本的に、これは彼らの日常業務の最大の変化になります。ただし、何らかの形で彼らの仕事に影響を与える可能性のある内部の変化については、さらに言われるべきです。
に注意すること
HTTP/2仕様自体は必須ではありませんが、HTTP/2をサポートするほとんどのブラウザには、HTTPS暗号化が必要です。つまり、HTTP/2サイトが暗号化された接続を介して提供されていない場合、訪問者はサイトにアクセスするために別のクライアントを見つけるか、それを見逃す必要があることを意味します。
現在、HTTPSを介してサイトを提供するサイトを駆動するトレンドがいくつかありますが、ブラウザはこの要件を批判しており、HTTP/2に切り替えることを検討している人にとっては間違いなくつまずきのブロックになります。 (HTTPSとは何か、およびそれを実装する方法の詳細については、SitePointの最近のHTTPSの紹介をお読みください。)
一般に、ネットワークの移行はシームレスになります。新しいプロトコルバージョンで動作するために必要な変更とアップグレードは、サーバーとブラウザで行われます。サーバーは時間の経過とともに更新され、最終的には両方のプロトコルをサポートします。新しいプロトコルをサポートするブラウザは、HTTP/2に自動的に切り替えられます。同時に、古いブラウザはそれを理解することができません。開発者として、ブラウザとHTTP/2のサポートを使用しているサーバーの両方が、接続がHTTP/2にアップグレードされるようにするかどうかを知る必要があります。
いくつかの論争
多くの人がHTTP/2に興奮していますが、Poul-Henning Kampのような他の人はそれほど感銘を受けていません。 Kampは、HTTP/2は「実際にはHTTP/1.2の壮大な名前」であると考えており、それが離陸した場合、それはおそらく長く続かない可能性が高いと考えています。
彼の意見では、新しいプロトコルは実際の問題を解決するのではなく、帯域幅に焦点を合わせすぎています。より良い焦点は、Cookieの概念をキャンセルし、セッション/IDツールに置き換えることであると彼は示唆している。これにより、セキュリティリスクがある程度増加すると、世界のプライバシーが向上します。 Kampは、HTTP/2は、プライバシーを大幅に改善しないと考えています。
違いを表示
このアカマイのデモンストレーションは、両方のプロトコルバージョンでリソースが同時にどのようにロードされるかを示しています。最初の画像はHTTP/1および6つの並行接続(Google Chromeを使用している場合)でロードされますが、2番目の画像はHTTP/2を介してロードされます。すべての部品は同時にロードされます。
botunt line
HTTP/2は、通常のユーザーにとってスムーズな移行であり、ネットワークで働いている人にとっては、いくつかの選択肢があります。一般的に言えば、ウェブサイトはより安全になり、より速く読み込まれます。この合意は、おそらくそれがより技術的および政治的に達成するのが難しいため、根本的な変化をもたらしていません。だからこそ、HTTP/2はそれほど長い間私たちに役立たないかもしれません。
テクノロジーの世界は毎年より速く成長しているので、数年後には何か他のものが必要になるかもしれません。私の個人的な希望は、次のプロトコルが技術的課題の変化に対処する上でより柔軟で勇敢になることです。
(FAQS)HTTP/2 に関するFAQ(FAQSセクションは、以前に覆われたコンテンツと非常に重複しているため、複製が回避されるため、ここでは省略されています。
以上がhttp/2:長所、短所、そしてあなたが知る必要があることの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。