ウェブサイトのパフォーマンスを向上させるためのコンテンツ関連の10の原則

ウェブサイトのパフォーマンスを向上させるためのコンテンツ関連の10の原則
<br />英語アドレス: http://developer.yahoo.com/performance/rules.html
Yahoo! の Exceptional Performance チームは、Web パフォーマンスを向上させるベスト プラクティスを提供します。彼らは一連の実験を実施し、さまざまなツールを開発し、多数の記事やブログを書き、さまざまな会議での議論に参加しました。本質的に、ベストプラクティスは Web サイトのパフォーマンスを向上させるように設計されています。
Excetional Performance チームは、Web サイトの速度を向上させる方法のリストを作成しました。 7つのカテゴリー、34の項目に分けられます。コンテンツ、サーバー、Cookie、CSS、JavaScript、画像、モバイル アプリケーションの 7 つの部分が含まれます。
コンテンツ セクションには 10 個の提案があります。
1. コンテンツ
    HTTPリクエストを最小限に抑える DNSルックアップを減らす リダイレクトを避ける AJAXをキャッシュする 読み込みを遅らせる プリロードする DOM要素の数を減らす ページのコンテンツをドメイン名で分割する iframeのサイズを小さくする 404エラーを避ける

1. HTTP リクエストの数を最小限に抑えます。エンドユーザーの応答時間の 80% はコンテンツのダウンロードに費やされます。この時間には、ページ内の画像、スタイルシート、スクリプト、Flash などのダウンロードが含まれます。ページ上の要素の数を減らすことで、HTTP リクエストの数を減らすことができます。これは、Web ページの速度を向上させるための重要なステップです。
ページ コンポーネントを削減する方法は、実際にはページ デザインを簡素化することです。では、応答時間を短縮しながらページコンテンツの豊富さを維持する方法はあるのでしょうか?ここでは、ページのコンテンツを充実させながら HTTP リクエストの数を減らすテクニックをいくつか紹介します。
ファイルのマージは、すべての CSS ファイルを 1 つのスタイルシートにまとめるなど、すべてのスクリプトを 1 つのファイルにまとめることで、HTTP リクエストを削減する方法です。スクリプトやスタイルシートをページごとに異なる方法で変更する必要がある場合、これは比較的面倒かもしれませんが、それでも、この方法はページのパフォーマンスを向上させるための重要なステップと見なされるべきです。
CSS スプライトは画像リクエストを減らす効果的な方法です。すべての背景画像を 1 つの画像ファイルに入れて、CSS の background-image プロパティと background-position プロパティを使用して画像のさまざまな部分を表示します。
イメージマップは複数の画像を 1 つの画像に結合します。全体のファイルサイズは変わりませんが、HTTP リクエストの数を減らすことができます。イメージ マップは、ナビゲーション バーなど、イメージのすべてのコンポーネントがページ上で近接している場合にのみ使用できます。画像の座標を決定するのは面倒でエラーが発生しやすく、ナビゲーションに画像マップを使用すると読みにくくなるため、この方法はお勧めできません。
インライン画像は、data: URL スキームを使用して画像データをページに読み込みます。これによりページのサイズが大きくなる可能性があります。インライン画像をスタイルシート(キャッシュ可能)に配置すると、ページ ファイルのサイズの増加を防ぎながら HTTP リクエストを削減できます。しかし、インライン画像はまだ主要なブラウザではサポートされていません。 Web ページ制作チュートリアル チャンネルのコンテンツを表示するには、ここをクリックしてください。ページに対する HTTP リクエストの数を減らすことが、最初に実行すべきステップです。これは、初めてのユーザーの待ち時間を改善するための最も重要な方法です。 Tenni Theurer 氏が自身のブログ「Browser Cahe Usage - Exposed!」で述べているように、キャッシュがない場合、HTTP リクエストは応答時間の 40% ~ 60% を占めます。あなたのウェブサイトを初めて訪れる人の体験をより速くしましょう!
2. DNS ルックアップの回数を減らす<br />ドメイン ネーム システム (DNS) は、電話帳の人名と電話番号の関係と同様に、ドメイン名と IP アドレスの対応関係を提供します。ブラウザのアドレスバーに www.dudo.org と入力すると、DNS 解決サーバーはこのドメイン名に対応する IP アドレスを返します。 DNS 解決プロセスにも時間がかかります。通常、指定されたドメイン名に対応する IP アドレスを返すには 20 ~ 120 ミリ秒かかります。このプロセス中、DNS ルックアップが完了するまでブラウザは何も実行しません。
DNS ルックアップをキャッシュすると、ページのパフォーマンスが向上します。このタイプのキャッシュには、通常はユーザーの ISP プロバイダーまたはローカル エリア ネットワークによって制御される特定のキャッシュ サーバーが必要ですが、ユーザーが使用するコンピューター上にもキャッシュが生成されます。 DNS 情報は、オペレーティング システムの DNS キャッシュ (Microsoft Windows の DNS クライアント サービス) に保存されます。ほとんどのブラウザには、オペレーティング システムに依存しない独自のキャッシュがあります。ブラウザには独自のキャッシュ レコードがあるため、単一のリクエストではオペレーティング システムの影響を受けません。ウェブサイト作成チュートリアルチャンネルのコンテンツを見るにはここをクリックしてください
デフォルトでは、Internet Explorer は DNS ルックアップ レコードを 30 分間キャッシュし、レジストリ内のそのキー値は DnsCacheTimeout です。 Firefox は DNS ルックアップ レコードを 1 分間キャッシュします。設定ファイル内のオプションは network.dnsCacheExpiration です (Fasterfox ではこのオプションが 1 時間に変更されます)。
クライアントの DNS キャッシュが空の場合 (ブラウザとオペレーティング システムの両方)、DNS ルックアップの数はページ内のホスト名の数と等しくなります。これには、ページ内の URL、画像、スクリプト ファイル、スタイル シート、Flash オブジェクトなどに含まれるホスト名が含まれます。ホスト名の数を減らすと、DNS ルックアップの数を減らすことができます。
ホスト名の数を減らすと、ページの並列ダウンロードの数も減ります。 DNS ルックアップの数を減らすと応答時間が改善されますが、並列ダウンロードを減らすと応答時間が長くなる可能性があります。私の基本方針は、これらのページのコンテンツを少なくとも 2 つ、最大 4 つに分割することです。その結果、DNS ルックアップの数を減らすことと、高度な並列ダウンロードを維持することの間でトレードオフが発生します。
前のページ1 2 3 次のページ 続きを読む

<<:  DockerはGitを使用してJenkinsのリリースとテストプロジェクトの詳細なプロセスを実装します

>>:  Vue 大画面データ表示例

推薦する

React.cloneElement の使い方の詳しい説明

目次cloneElementの役割使用シナリオ新しい小道具を追加するプロップを変更するイベントカスタ...

Python3.6-MySql 挿入ファイルパス、バックスラッシュをなくす解決策

以下のように表示されます。上記のように、置き換えるだけです。 Python3.6-MySql でファ...

jsネイティブカルーセルプラグインの制作

この記事では、jsネイティブカルーセルプラグインの具体的なコードを参考までに共有します。具体的な内容...

MySQL マスタースレーブレプリケーションの役割と動作原理の詳細な説明

1. マスタースレーブレプリケーションとは何ですか?マスタースレーブレプリケーションは、スレーブデー...

よく使われる3つのMySQLデータ型

MySQL のデータ フィールドのタイプを定義することは、データベースを最適化するために非常に重要で...

テーブル関連の配置とJavascript操作テーブル、tr、td

適切に機能するテーブル プロパティ設定:コードをコピーコードは次のとおりです。 <テーブル セ...

Centos8.2 クラウド サーバー環境に Tomcat8.5 をインストールするための詳細なチュートリアル

Tomcatをインストールする前に、まずJDK環境をインストールしてくださいLinux サーバー上で...

JS 手ぶれ補正機能の実装と使用シナリオ

目次1. 手ぶれ補正機能とは何ですか? 1. なぜ手ぶれ補正機能が必要なのでしょうか? 2. 手ぶれ...

geo モジュールを使用して Nginx でホワイトリストを設定する例

元の構成: http { ...... limit_conn_zone $binary_remote...

WeChatアプレットでQRコードを識別するために長押しする実装プロセス

序文公式アカウントのQRコードは長押しで認識できることは皆さんご存じですが、ミニプログラムに対する制...

CentOS 6-7 PHPのyumインストール方法(推奨)

1. 現在インストールされているPHPパッケージを確認するyum list installed |...

fileReader 使用時の落とし穴と解決策

目次fileReader に関する落とし穴iOS における FileReader の落とし穴 (イメ...

MySQL 作成ルーチン権限に関する注意事項

1. ユーザーにルーチン作成権限がある場合は、プロシージャ | 関数を作成できます。 2. ユーザー...

Windows での Apache+Tomcat7 負荷分散構成方法の詳細な説明

準備Windows Server 2008 R2 Enterprise (2.40GH、8GB、64...