検索
ホームページウェブフロントエンドCSSチュートリアルWeb パフォーマンス最適化ソリューションの詳細な紹介

第 1 章 Web サイトを開いて遅いステータス分析

会社が IDC コンピューター ルームに展開されている VIP Web サイトにアクセスすると、次のように感じられます。非常に遅い。これは何が原因でしょうか?ページの応答時間を短縮し、ユーザー エクスペリエンスを向上させるには、ユーザーが何に待ち時間を費やしているかを知る必要があります。

下の図に示すように、ログイン ページを追跡できます

上の図から、HTML ドキュメントが総応答時間の 20% のみを占めていることが分析でき、他の 80% 応答時間は、JSCSS、画像、その他のコンポーネントのダウンロードに使用されます。したがって、WEBのフロントエンドには最適化の余地がたくさんあります。WEBのフロントエンド最適化とバックエンド最適化を総合的に考慮して、WEBのパフォーマンス最適化計画を立てます。

1. 最小化 HTTP リクエスト

1 スクリプトとスタイル ファイルを結合する たとえば、複数の CSS ファイルを 1 つに結合したり、複数の JS ファイルを 1 つに結合したりできます。

2 CSS スプライト CSS 背景 関連要素を使用して背景画像 を絶対的に配置し、複数の画像を 1 つの画像に結合します。

2.

ブラウザキャッシュを使用する

ユーザーが Web サイトの異なるページを閲覧すると、同じ JSCSS、写真など、多くのコンテンツが繰り返されます。これらのファイルをローカルにキャッシュすることをブラウザーに提案したり強制したりできれば、ページによって生成されるトラフィック量が大幅に削減され、ページの読み込み時間が短縮されるでしょう。

サーバー側の応答 header によると、ファイルにはブラウザーのキャッシュ ステータスがいくつかの異なるレベルがあります。

1. サーバーはブラウザに対し、このファイルをキャッシュせず、サーバー上のファイルを毎回更新するように指示します。

2. サーバーはブラウザに指示を与えません。

3。最後の送信で、サーバーは Last-Modified または Etag データをブラウザに送信し、再度閲覧するときに、ブラウザはローカル バージョンが最新かどうかを確認するためにこれらのデータをサーバーに送信します。最新のものは、サーバーが 304 コードを返し、ブラウザーにローカル バージョンを直接使用するか、そうでない場合は新しいバージョンをダウンロードするように指示します。一般に、静的ファイルのみが存在する場合、サーバーはこれらのデータを提供します。

4. サーバーはブラウザにファイルを強制的にキャッシュし、有効期限を設定します。キャッシュの有効期限が切れる前に、ブラウザはサーバーと通信せずにローカル キャッシュ ファイルを直接使用します。

私たちがしなければならないことは、特にJSCSS、画像などの変更が少ないファイルに対して、ブラウザを強制的に4番目の状態にしようとすることです。

3. 圧縮コンポーネントを使用する

IEFirefox ブラウザは両方ともクライアント GZIP をサポートし、クライアントが受信した後、クライアントに送信します。解凍には、サーバーとクライアントの CPU の一部がわずかに消費されますが、帯域幅の使用率が高くなります。プレーンテキストの場合、圧縮率は非常に優れています。各ユーザーが帯域幅の 50% を節約すると、レンタルした帯域幅で 2 倍の顧客にサービスを提供でき、データ送信時間が短縮されます。 4.

画像と

JS

画像をプリロードする最も簡単な方法は、

JavaScript で新しいImage() オブジェクトをインスタンス化し、画像の URL をロードすることです。パラメータとして渡されます。

function preLoadImg(url) {
var img = new Image();
img.src = url;
}


ログインページで

JSと画像をプリロードできます 5.

スクリプトを下部に配置

スクリプトを上部に配置することによって生じる問題

1,

スクリプトを使用する場合、スクリプトの下にあるコンテンツのプログレッシブレンダリングがブロックされます2,

スクリプトのダウンロード時に並列ダウンロードがブロックされます

一番下に置くと

が発生する可能性がありますJS エラーの問題。スクリプトが読み込まれていない場合、ユーザーがスクリプト イベントをトリガーします。

状況を総合的に考えてください。

6.

スタイルファイルをページの上部に配置します

スタイルシートがロードされていない場合、レンダリングツリーを構築するのは無駄です。スタイルファイルがページの下部に配置される場合、

1、白い画面

の2つの状況が考えられます。

2、スタイルなし コンテンツのフラッシュ

7. 外部JSCSS

を使用して、インラインJSCSSを外部JSに作成します、 CSS。インライン JSCSS の繰り返しダウンロードを減らします。

8. コンポーネントを複数のドメインに分割する

A

ページのリクエスト分析

URL

1に従ってください。 URLアドレスを入力するか、

URL

2

ブラウザは、DNS3と組み合わせた

URL

アドレスに基づいて、URLに対応するIPアドレスを解析します。 HTTPリクエスト

を送信4 リクエストされたサーバーへの接続を開始し、関連コンテンツをリクエストします

5 ブラウザはサーバーから返されたコンテンツを解析し、ページを表示します

上記は基本的にリクエストから実装までのページの基本的なプロセスです。以下ではこのプロセスを分析します。

URLを入力すると、ブラウザは、IPアドレスを知ることによってのみ、このURLに対応するIPが何であるかを知ることができます。指定されたサーバーの特定の IP とポート番号にリクエストを送信します。ブラウザの DNS パーサーは、URL を正しい IP アドレスに解析する役割を果たします。この解析プロセスには時間がかかり、この解析期間中、ブラウザはサーバーから何もダウンロードできません。ブラウザとオペレーティング システムは、DNS 解像度キャッシュ サポートを提供します。 IPアドレスを取得した後、ブラウザはHTTPリクエストをサーバーに送信します。プロセスは次のとおりです: 1

。ブラウザは

TCPパケットを送信して、サーバーに接続2

を開くように要求します。また、サーバーはパケットを送信してクライアントのブラウザに応答し、接続が開いていることをブラウザに伝えます。

3

.ブラウザは

HTTPGET リクエストを送信します。このリクエストには、共通の cookie やその他の head ヘッダー情報など、多くのものが含まれています。

このようにしてリクエストが送信されます。

リクエストが送信された後は、サーバー側のプログラムが最終結果をクライアントに送信します。

実際、ブラウザに最初に到達するのは

html ドキュメントです。いわゆる html ドキュメントは純粋な html コードであり、画像、スクリプト、 CSS などは含まれません。 。それがページの html 構造です。なぜなら、この時に返されるのはページのhtml構造だけだからです。この html ドキュメントがブラウザに送信されるのにかかる時間は非常に短く、通常、応答時間全体の約 10% を占めます。

この後、ページの基本的なスケルトンがブラウザーにあります。次のステップは、ブラウザーがページを解析するプロセスです。これは、

html のスケルトンを上から下まで段階的に解析することです。

この時点で html ドキュメント内で img タグに遭遇すると、ブラウザはこの img レスポンスの URL アドレスに HTTP リクエストを送信して、画像を取得して表示します。 html ドキュメント、flash に多数の画像がある場合、ブラウザはそれらを 1 つずつリクエストしてからレンダリングします。すべての画像をリクエストする必要がある場合は、前述の手順を実行する必要があります。つまり、 を解析します。 URL 、オープン tcp 接続など。データベースにアクセスする場合と同様に、接続を開くとリソースも消費されます。できるだけ少ないデータベース接続を開き、接続プール内のより多くの接続を使用するようにします。同様に、tcp接続も再利用できます。 http1.1 は、永続的な接続 (永続接続) の概念を提案しました。これは、同じ HTTP 接続で同時に複数のリクエストを処理でき、 tcp 接続を削減できることを意味します。

ページのhtmlスケルトンがロードされるとブラウザはページ内のタグの解析を開始しますは上から下へ解析を開始します。

最初は head タグの解析で、head で引用される JS スクリプトがあることが判明した場合、ブラウザはこの時点でスクリプトのリクエストを開始します。 JS リクエストが完了するまで、ページ全体の解析プロセスが停止します。次に、bodyタグの解析など、ページが下方向に解析されます。bodyimgタグがある場合、imgが複数ある場合、ブラウザはimgの対応するリソースをリクエストします。 img タグを追加すると、ブラウザはそれらを 1 つずつ解析します。解析は JS のように待機せず、同時にダウンロードされます。

以上がWeb パフォーマンス最適化ソリューションの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
カーソルの次のレベルCSSスタイリングカーソルの次のレベルCSSスタイリングApr 23, 2025 am 11:04 AM

CSSを備えたカスタムカーソルは素晴らしいですが、JavaScriptを使用して次のレベルに物事を引き出すことができます。 JavaScriptを使用して、カーソル状態間で移行し、カーソル内に動的テキストを配置し、複雑なアニメーションを適用し、フィルターを適用できます。

Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Apr 23, 2025 am 10:42 AM

2025年には、互いに互いに跳ね返る要素を伴うインタラクティブなCSSアニメーションは、CSSにPongを実装する必要はありませんが、CSSの柔軟性とパワーの増加はLee'の疑いを補強します。

UI効果にCSSバックドロップフィルターを使用しますUI効果にCSSバックドロップフィルターを使用しますApr 23, 2025 am 10:20 AM

CSSバックドロップフィルタープロパティを使用してユーザーインターフェイスをスタイルするためのヒントとコツ。バックドロップフィルターを複数の要素間でレイヤー化する方法を学び、それらを他のCSSグラフィカル効果と統合して、精巧なデザインを作成します。

微笑んでいますか?微笑んでいますか?Apr 23, 2025 am 09:57 AM

まあ、SVG'の組み込みのアニメーション機能は、計画どおりに非推奨されることはありませんでした。確かに、CSSとJavaScriptは負荷を運ぶことができる以上のものですが、以前のようにSmilが水中で死んでいないことを知っておくのは良いことです

「かわいい」は見る人の目にあります「かわいい」は見る人の目にありますApr 23, 2025 am 09:40 AM

イェーイ、テキストワラップのジャンプを見てみましょう:サファリテクノロジーのプレビューにかなり着陸してください!しかし、それがChromiumブラウザーでの仕組みとは異なることに注意してください。

CSS-Tricks XLIIIを記録しますCSS-Tricks XLIIIを記録しますApr 23, 2025 am 09:35 AM

このCSS-Tricksアップデートは、アルマナック、最近のポッドキャスト出演、新しいCSSカウンターガイド、および貴重なコンテンツを提供するいくつかの新しい著者の追加の大幅な進歩を強調しています。

Tailwind'の@Apply機能は、響きよりも優れていますTailwind'の@Apply機能は、響きよりも優れていますApr 23, 2025 am 09:23 AM

ほとんどの場合、人々はTailwind'の@Apply機能を紹介します。このように展示されたとき、@Applyはまったく有望な音をしません。だからobvio

私はリリースがないように感じます:正気な展開への旅私はリリースがないように感じます:正気な展開への旅Apr 23, 2025 am 09:19 AM

馬鹿のように展開することは、展開に使用するツールと複雑さの報酬と複雑さの減少との間の不一致になります。

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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

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

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

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

SublimeText3 Mac版

SublimeText3 Mac版

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

Safe Exam Browser

Safe Exam Browser

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール