リソースのプリロード、プリフェッチ、および前提条件
プリロードは、現在必要な重要なリソース用であり、Prefettは将来のナビゲーションのニーズを予測し、Preconnectはサードパーティサーバーへの接続を高速化します。 AS属性を備えたフォントやヒーローイメージなどの高優先度アセットにプリロードを使用し、アイドル時間中に次のページのリソースの可能性が高く、CDNやAPIなどのドメインに早期接続セットアップを前提として、それぞれを控えめかつ戦略的に適用して、リソースの競合を回避し、最適なパフォーマンスを確保します。
Webパフォーマンスを最適化するとき、プリロード、プリフェッチ、および前提条件は、リソースをより速く提供し、認知された負荷時間を改善するのに役立つ強力なブラウザのヒントです。それらは似たように聞こえますが、それぞれが明確な目的を果たし、戦略的に使用する必要があります。
それぞれが行うこと、それらを使用する時期の内訳、および実装のための実用的なヒントは次のとおりです。
1。プリロード( rel="preload"
)
重要なリソースを今すぐロードしてください
ユースケース:現在のページのロードでリソースがすぐに必要になることを知っています。たとえば、ブラウザによって遅すぎる可能性のあるWebフォント、ヒーローイメージ、または重要なCSS/JSファイルなどです。
preload
ブラウザに次のように伝えます。 「まだ使用されている場所で解析していなくても、すぐにダウンロードしてください。」
例:
<! - ウェブフォントをプリロード - > <link rel = "preload" href = "/fonts/myfont.woff2" as = "font" type = "font/woff2" crossorigin> <! - 重要なスクリプトをプリロード - > <link rel = "preload" href = "/js/main.js" as = "script"> <! - ヒーローイメージをプリロード - > <link rel = "preload" href = "/images/hero.jpg" as = "image">
キーノート:
- 属性が必要である
as
、ブラウザが優先順位を付けて正しい読み込みロジックを適用するのに役立ちます。 - 控えめに使用する:
preload
を過剰に使用すると、より重要なリソースと競合し、パフォーマンスを損なう可能性があります。 - 優先順位、レンダリングブロッキング、または遅れて発見された資産のみ。
2。プリフェッチ( rel="prefetch"
)
将来のナビゲーションのためにリソースをダウンロードしてください
ユースケース:次のページでユーザーが必要とするものを予測します。たとえば、分析が次に特定のページにアクセスする可能性が高いことを示唆している場合。
prefetch
、アイドル時にバックグラウンドでリソースをダウンロードする低優先度のリクエストです。
例:
<! - 次のページの可能性が高い - > <link rel = "pretch" href = "/next-page.html"> <! - 次のページで使用されるスクリプトをプリフェッチします - > <link rel = "prefetch" href = "/js/detail-page.js">
キーノート:
- 一般的なナビゲーションパスに最適です(例:ログイン後、製品の詳細ページなど)。
- ブラウザは
prefetch
優先度が低いため扱うので、現在のページのパフォーマンスを妨げません。 - ユーザーがリンクの上にhoveringしたり、その近くのスクロールを巻き上げたりすると、交差点オブザーバーと組み合わせてプリフェッチできます。
ヒント:
importance=low
フェッチで同様の動作を求めます。fetch( '/data.json'、{重要: 'low'});
3。序点( rel="preconnect"
またはdns-prefetch
)
接続セットアップをスピードアップします
ユースケース:サードパーティドメイン(CDN、Googleフォント、分析など)からリソースをロードしています。接続の確立(DNSルックアップ、TCPハンドシェイク、TLS交渉)には、数百ミリ秒かかる場合があります。
preconnect
ブラウザに「接続のセットアップを早めに開始します。」
例:
<! - cdnを前提とします - > <link rel = "preconnect" href = "https://cdn.example.com"> <! - Google Fontsを前提としています - > <link rel = "preconnect" href = "https://fonts.googleapis.com"> <link rel = "preconnect" href = "https://fonts.gstatic.com" crossorigin>
代替: dns-prefetch
(ライター)
DNS解像度のみが必要な場合は、以下を使用してください。
<link rel = "dns-prefetch" href = "https://api.example.com">
キーノート:
-
preconnect
より攻撃的です - 完全なTCP/TLSハンドシェイクをセットアップします。 - 必要なドメインにのみ使用します。各接続はシステムリソースを消費します。
-
dns-prefetch
リソース集約的ではありませんが、DNSのみを解決します。
いつ使用するの?
シナリオ | 推奨ヒント |
---|---|
折り目の下の重要なフォントまたは画像 | preload |
ユーザーはおそらく次に /についてナビゲートします | prefetch |
CDNからスクリプトを読み込みます | preconnect |
サードパーティ分析APIを使用します | preconnect またはdns-prefetch |
次の訪問のための非批判的な資産 | prefetch |
ベストプラクティス
- umplate影響の測定:灯台またはWebバイタルを使用して、これらのヒントが実際にパフォーマンスを改善するかどうかを確認します。
- use乱用を避ける:多すぎる
preload
タグがより重要なリソースをブロックする可能性があります。 - dynamicインポートでの使用:ReactやVueなどのフレームワークでコードスプリッティを使用した
prefetch
をペアにします。 - conditional条件付きプリフェッチ:帯域幅を保存するためにホバーまたはスクロールでプリフェッチします。
link.addeventlistener( 'mouseenter'、()=> { const pref = document.createelement( 'link'); pref.rel = 'prefetch'; pref.href = '/next-page.html'; document.head.appendChild(pref); });
基本的に、このように考えてください:
-
preload
=「今すぐこれが必要です。」 -
prefetch
=「おそらくこれが後で必要です。」 -
preconnect
=「このサーバーとより速く話す準備をしましょう。」
賢明に使用して、これらのヒントは、コード構造を変更せずに、ロード時間から数百ミリ秒を削ることができます。
以上がリソースのプリロード、プリフェッチ、および前提条件の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
-

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

NGINXのパフォーマンスチューニングは、ワーカープロセスの数、接続プールサイズの数、GZIP圧縮とHTTP/2プロトコルの有効化、およびキャッシュとロードバランスを使用することで実現できます。 1.ワーカープロセスの数と接続プールサイズを調整します:worker_processesauto;イベント{worker_connections1024;}。 2。GZIP圧縮とhttp/2プロトコルを有効にします:http {gzipon; server {risten43sslhttp2;}}。 3。キャッシュ最適化:http {proxy_cache_path/path/to/cachelevels = 1:2k

Apacheのパフォーマンスを改善する方法は次のとおりです。1。キープライブ設定の調整、2。マルチプロセス/スレッドパラメーターを最適化、3。mod_deflateを使用して圧縮に使用します。これらの戦略により、Apacheサーバーの応答速度と同時処理機能を大幅に改善できます。

PHP フレームワークのパフォーマンスの最適化: クラウドネイティブ アーキテクチャの採用 今日のペースの速いデジタル世界では、アプリケーションのパフォーマンスが非常に重要です。 PHP フレームワークを使用して構築されたアプリケーションの場合、シームレスなユーザー エクスペリエンスを提供するためにパフォーマンスを最適化することが重要です。この記事では、クラウドネイティブ アーキテクチャを組み合わせて PHP フレームワークのパフォーマンスを最適化する戦略について説明します。クラウド ネイティブ アーキテクチャの利点 クラウド ネイティブ アーキテクチャには、PHP フレームワーク アプリケーションのパフォーマンスを大幅に向上させるいくつかの利点があります。 スケーラビリティ: クラウド ネイティブ アプリケーションは、変化する負荷要件に合わせて簡単に拡張でき、ピーク期間がボトルネックにならないようにします。弾力性: クラウド サービス本来の弾力性により、アプリケーションは障害から迅速に回復し、可用性と応答性を維持できます。俊敏性: クラウドネイティブ アーキテクチャは継続的インテグレーションと継続的デリバリーをサポートします。

C++ クラス設計のパフォーマンスを向上させるためのヒントには、不必要なコピーの回避、データ レイアウトの最適化、constexpr の使用などがあります。実際のケース: オブジェクト プールを使用して、オブジェクトの作成と破棄を最適化します。

XMLおよびRSSデータを処理する場合、次の手順でパフォーマンスを最適化できます。1)LXMLなどの効率的なパーサーを使用して、解析速度を改善します。 2)SAXパーサーを使用して、メモリの使用量を削減します。 3)Xpath式を使用して、データ抽出効率を改善します。 4)処理速度を改善するために、マルチプロセスの並列処理を実装します。

OPCache がコンパイルされたコードをキャッシュできるようにすることで、PHP のパフォーマンスが向上します。 Memcached などのキャッシュ フレームワークを使用して、頻繁に使用されるデータを保存します。データベース クエリを削減します (クエリ結果をキャッシュするなど)。コードを最適化します (例: インライン関数の使用)。 XHProf などのパフォーマンス分析ツールを利用して、パフォーマンスのボトルネックを特定します。

YII2.0アプリケーションのパフォーマンスを改善するための戦略には、次のものが含まれます。1。Databaseクエリ最適化、QueryBuilderおよびActiverCordを使用して特定のフィールドを選択し、結果セットを制限します。 2。キャッシュ戦略、データの合理的な使用、クエリ、ページキャッシュ。 3。コードレベルの最適化、オブジェクトの作成の削減、効率的なアルゴリズムの使用。これらの方法により、Yii2.0アプリケーションのパフォーマンスを大幅に改善できます。

Cのデータ構造のレイアウトを最適化することは、次の手順を通じて実現できます。1。メモリアラインメントを調整し、サイズごとに構造のメンバーを並べ替えるなどのパディングを削減します。 2。キャッシュの親しみやすさを改善し、頻繁に訪問するメンバーをまとめます。 3. structメンバーの並べ替えを最適化し、最も訪問したメンバーを前に置きます。 4.クロスキャッシュラインのアクセスを減らすためのキャッシュラインの倍数になるように、構造をサイズ変更します。これらの方法により、プログラムのパフォーマンスとメモリの使用が大幅に改善される可能性があります。
