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

推薦する

TypeScript のユニオン型、交差型、型ガード

目次1. ユニオンタイプ2. クロスオーバータイプ3. 型保護3.1 カスタム型保護3.2 保護の種...

Docker で Tomcat を使用して Web アプリケーションを迅速にデプロイする方法の例

Docker の基本的な操作を学習した後、コンテナにいくつかの基本的なアプリケーションをデプロイして...

CSSはマウスが画像に移動したときにマスク効果を実現します

1.マスクレイヤーのHTMLコードと画像をdivに配置する.img_div に入れました。 <...

Docker イメージ + nginx を使用して Vue プロジェクトをデプロイする方法

1. Vueプロジェクトのパッケージ化開発されたvueプロジェクトに次の名前を入力し、パッケージ化し...

フレックスレイアウトは、1行あたりの固定行数と適応レイアウトを実現します。

この記事では、1行あたりの固定行数+アダプティブレイアウトを実現するフレックスレイアウトを紹介し、皆...

Reactはいくつかの方法でパラメータを渡します

目次親コンポーネントと子コンポーネント間でパラメータを渡すルーティングパラメータステータスの改善コン...

Docker 環境での Jmeter の分散操作に関する詳細なチュートリアル

1. jmeterの基本イメージを構築するDockerfile は次のとおりです。 # Java 8...

バックアップと削除のためにリアルタイムでステートメントを検出するMySQLトリガーの考え方の詳細な説明

問題の説明: ユーザーは、テーブルに「違反」という単語を含むフィールドが時々表示されることを要求して...

iframe パラメータの説明と例

<iframe src=”test.jsp” width=”100″ height=”50″ ...

MySQLのさまざまなロックに関する詳細な理解

目次ロックの概要ロックの分類データベース操作の粒度データ操作の種類MySQL ロックさまざまなストレ...

Nginx サービス クイック スタート チュートリアル

目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...

MySQLクライアントとサーバーのプロトコルの解釈

目次MySQL クライアント/サーバー プロトコルMySQL サーバーから高いパフォーマンスを得る必...

Vue で webSocket を使用してリアルタイムの天気を更新する方法

目次序文webSocket の操作と例について:ウェブソケット1. webSocketについて2. ...

Vueはズームイン、ズームアウト、ドラッグ機能を実装しています

この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...

Kali Linux Vmware 仮想マシンのインストール (図とテキスト)

準備: 1. VMwareワークステーションソフトウェアをインストールする2. Kali Linux...