ホームページ ウェブフロントエンド htmlチュートリアル HTML ページの読み込みと解析プロセスの詳細な紹介

HTML ページの読み込みと解析プロセスの詳細な紹介

Feb 09, 2017 pm 05:31 PM

ブラウザが HTML をロードしてレンダリングする順序、HTML ページのロードを高速化する方法、HTML ページのロードと解析プロセスなどについて詳しく説明します。興味のある方はお見逃しなく。その順序。どのブラウザが HTML をロードしてレンダリングするか

1. IE のダウンロード順序は上から下であり、レンダリングの順序も上から下に同時に実行されます。

2. ページの特定の部分をレンダリングすると、その上のすべての部分がダウンロードされます (これは、関連するすべての要素がダウンロードされたことを意味するわけではありません)。

3. 意味的に解釈可能なタグ埋め込みファイル (JS スクリプト、CSS スタイル) が見つかった場合、IE のダウンロード プロセスにより、ダウンロード用に別の接続が有効になります。

4. スタイル シートがダウンロードされると、以前にダウンロードされたすべてのスタイル シートと一緒に解析され、以前のすべての要素 (以前にレンダリングされた要素を含む) が再レンダリングされます。

5. JS または CSS で再定義がある場合、後で定義された関数が以前に定義された関数を上書きします。

JS の読み込み

1. ダウンロードと解析を並行して実行できません (ダウンロードのブロック)。

2. JSが参照されると、ブラウザはJSリクエストを送信し、リクエストが返されるのを待ちます。ブラウザーには安定した DOM ツリー構造が必要であり、JS には、document.write や appendChild を使用したり、location.href を直接使用してジャンプしたり、DOM ツリー構造を直接変更する

コードが存在する可能性が非常に高いためです。ブラウズ JS が DOM ツリーを変更しないようにするには、DOM ツリーを再構築する必要があります。そのため、他のダウンロードとレンダリングがブロックされます。


HTML ページの読み込みを高速化する方法
1. a . ページの太さと薄さは、読み込み速度に影響を与える最も重要な要素です。

b. 不要なスペースとコメントを削除します。

c. インラインスクリプトとCSSを外部ファイルに移動します。

d. HTML Tidy を使用して HTML の重量を減らすことができます。また、いくつかの圧縮ツールを使用して JavaScript の重量を減らすこともできます。

2. ファイルの数を減らす:

a. ページで参照されるファイルの数を減らすと、HTTP 接続の数を減らすことができます。

b. 多くの JavaScript および CSS ファイルはマージでき、Caibangzi は JavaScript 関数と Prototype.js を Base.js ファイルにマージするのが最適です。

3. ドメイン名のクエリを減らす:

a. DNS クエリとドメイン名の解決にも時間がかかるため、外部 JavaScript、CSS、画像、その他のリソースへの参照を減らす必要があり、ドメイン名が異なるほど良いです。

4. 再利用されたデータをキャッシュする:

a. 再利用されたデータをキャッシュします。

5. ページ要素の読み込み順序を最適化します:

a. 最初にページに最初に表示されるコンテンツとそれに関連する JavaScript および CSS を読み込み、次に、画像、フラッシュ、ビデオなどの HTML 関連のものを読み込みます。など、最初は表示されない非常に太いリソースが最後にロードされます。

6. インライン JavaScript の数を減らす:

a. ブラウザーのパーサーは、インライン JavaScript によってページ構造が変更されると想定するため、インライン JavaScript を使用するとコストが高くなります。

b. コンテンツの出力には document.write() を使用せず、最新の W3C DOM メソッドを使用して最新のブラウザーのページ コンテンツを処理します。

7. 最新の CSS と合法的なタグを使用します:

a. 最新の CSS を使用してタグと画像を削減します。たとえば、最新の CSS とテキストを使用すると、一部の画像をテキストのみに完全に置き換えることができます。

b. HTML の解析時にブラウザが「エラー修正」などの操作を実行しないようにするには、正当なタグを使用します。また、HTML Tidy を使用して HTML をスリム化することもできます。

8. コンテンツをチャンクします。

a. ネストされたテーブルを使用せず、ネストされていないテーブルを使用します。ネストされた大きなテーブルに基づくレイアウトを複数の小さなテーブルに分割すると、ページ全体 (または大きなテーブル) のコンテンツが読み込まれるまで待ってから表示する必要がなくなります。

9. 画像と表のサイズを指定します:

a. ブラウザーが画像または表のサイズをすぐに決定できる場合は、レイアウトの調整をやり直すことなく、すぐにページを表示できます。

b. これにより、ページの表示が高速化されるだけでなく、ページの読み込み完了後の不適切なレイアウト変更も防止されます。

c. 画像は高さと幅を使用します。


HTML ページの読み込みと解析プロセス


1. ユーザーが URL を入力し (それが HTML ページであり、初めてアクセスすると仮定します)、ブラウザーはサーバーにリクエストを送信し、サーバーはhtmlファイル。 2. ブラウザは HTML コードの読み込みを開始し、 タグ内に外部 CSS ファイルを参照する タグがあることを確認します。

3. ブラウザが CSS ファイルのリクエストを再度送信し、サーバーが CSS ファイルを返します。

4. ブラウザは HTML の 部分のコードを読み込み続け、CSS ファイルが取得され、ページが表示されます。

5. ブラウザは、画像を参照するコード内で タグを見つけ、サーバーにリクエストを送信しました。この時点で、ブラウザは画像がダウンロードされるまで待機せず、後続のコードのレンダリングを続行します。

6. サーバーは画像ファイルを返します。画像は特定の領域を占め、後続の段落の配置に影響を与えるため、ブラウザはコードのこの部分に戻って再レンダリングする必要があります。

7. ブラウザは、JavaScript コードの行を含む

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

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

< Progress>の目的は何ですか 要素? < Progress>の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

< datalist>の目的は何ですか 要素? < datalist>の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

< meter>の目的は何ですか 要素? < meter>の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? < iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

See all articles