ウェブサイトのパフォーマンスを向上させるためのコンテンツ関連の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 大画面データ表示例

推薦する

MySQL マスタースレーブステータスチェックの実装

1. AデータベースとBデータベースの同期ステータスを確認する次のコマンドを入力すると多くの情報が表...

CSS3 で z-index が効かない問題の解決方法

最近、CSS3 と js の組み合わせを作成したのですが、z-index が有効にならないケースが多...

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

Dockerはnginxをデプロイし、フォルダとファイル操作をマウントします

この間、私は docker を勉強していたのですが、nginx をデプロイするときに行き詰まりました...

JavaScript を使用してテーブル情報を追加および削除する

JavaScript 入門JavaScript は軽量なインタープリタ型の Web 開発言語です。言...

CSS 共通スタイルで二重矢印を描画するサンプルコード

1. 単一の矢印への複数の呼び出し単一の矢印を実装したら、二重矢印を実装するのは簡単です。上では、単...

CSS マージンの重複と解決策の探索の詳細な説明

最近、CSS 関連の知識ポイントをいくつか見直し、CSS における典型的なマージンの重なりの問題を整...

divは、自動入力スタイルをブロックする入力ボックスとして入力を使用せずにコンテンツを入力できます。

今日、私は公開用の動的なウィンドウ スタイルを設計しましたが、マウスで入力をクリックしたときにブラウ...

マーキー要素は、スクロールするフォントや画像などの効果を実装します。

マーキー要素を使用すると、単純なフォント(画像など)のスライドやその他の効果を実現できます。コードを...

JavaScript でオブザーバー パターンを実装する方法

目次概要オブザーバーパターンの応用シナリオオブザーバーパターンの実装要約する概要オブザーバー パター...

Reactのref属性を深く理解する方法

目次概要1. Refsオブジェクトの作成1.1 React.createRef() 1.2React...

画像ボタンをフォームのリセットボタンとして使用する方法

フォームを作成するときに、送信ボタンとリセットボタンを配置することがよくあります。ページの外観を考慮...

VueはExcelテーブルをインポートし、インポートに失敗したデータを自動的にダウンロードします。

次のような要件があります: インポート ボタン。ボタンをクリックして Excel テーブルをインポー...

Linux は、ディレクトリが存在するかどうかを判断するために if を使用します。

Linux で if を使用してディレクトリが存在するかどうかを判断する方法方法は次のとおりです。...

Chrome、Firefox、IEで入力カーソルの位置がずれる問題の解決方法

ブラウザで入力カーソルがずれる問題の詳しい説明<br />仕事で問題に遭遇し、解決策を探...