Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

2つの目的のためのリソースの結合と圧縮

  1. httpリクエストの数を減らす
  2. 要求されたリソースのサイズを縮小する

Google ホームページのケーススタディ

  1. HTML 圧縮
  2. CSS 圧縮
  3. jsの圧縮
  4. ファイルの結合
  5. gzipを有効にする

1. HTML圧縮

図 1 は圧縮されていない Sina のホームページを示しており、図 2 は圧縮された Google のホームページを示しています。

HTMLコード圧縮とは、スペース、タブ、改行など、テキストファイルでは意味を持つがHTMLでは表示されない文字や、次のような他の意味を持つ文字を圧縮することです。
HTML コメントも圧縮できます。

HTMLを圧縮する方法

  1. 圧縮にはオンラインウェブサイトを使用する
  2. nodejsはhtml-minifierツールを提供します
  3. バックエンドテンプレートエンジンのレンダリング圧縮

2. HTML圧縮

  1. デッドコードの削除
  2. CSSセマンティックマージ

HTMLを圧縮する方法

  1. 圧縮にはオンラインウェブサイトを使用する
  2. HTML 内の CSS を圧縮するには html-minifier を使用します
  3. clean-cssを使用してCSSを圧縮する

3. Js の圧縮と混乱

  1. 無効な文字の削除
  2. コメントを削除
  3. コードの意味の削減と最適化
  4. コード保護

jsを圧縮して混乱させる方法

  1. 圧縮にはオンラインウェブサイトを使用する
  2. html-minifier を使用して html 内の js を圧縮する
  3. uglifyjs2を使用してjsを圧縮する

3. ファイルの結合

ファイルのマージと非マージの比較

  1. ファイル間にアップストリーム要求が挿入されるため、ネットワーク遅延が N-1 倍に増加します。
  2. パケットロスの影響がより深刻
  3. プロキシサーバーによって切断されている可能性があります

ファイルの結合に関する問題:

  1. 最初の画面レンダリングの問題
  2. キャッシュ無効化の問題

ファイルの結合の問題を解決します。

  1. 公共図書館の統合
  2. 異なるページを結合する
  3. 状況に応じて行動し、変化する状況に適応する

jsを圧縮して混乱させる方法

  1. 圧縮にはオンラインウェブサイトを使用する
  2. マージを実装するにはNode.jsを使用する

画像関連の最適化
png8/png24/png32の違い

  1. png8 - 256色 + 透明度のサポート
  2. png24 - 2^24 色 + 透明度はサポートされていません
  3. png32 - 2^24 色 + 透明度のサポート
各画像形式には独自の特性があり、ビジネスシナリオに応じて異なる画像形式を選択することが重要です。

さまざまな形式の画像に関する一般的なビジネスシナリオ

  1. jpg - 透明な画像を必要としないほとんどのビジネスシナリオ
  2. pngは透過性をサポートし、ブラウザと互換性があります
  3. Webp圧縮はより優れており、iOS Webviewと互換性があります
  4. svg ベクター グラフィックス、埋め込みコード、比較的少ない、比較的シンプルな画像スタイル

さまざまな形式の画像に関する一般的なビジネスシナリオ

  1. jpg - 透明な画像を必要としないほとんどのビジネスシナリオ
  2. png - 透明な画像を必要とするほとんどのビジネスシナリオ
  3. webp —— Android すべて
  4. SVGベクターグラフィックス - 比較的シンプルな画像スタイルを使用したビジネスシナリオ

画像を圧縮する

実際の写真では、比較的重要でない色情報を破棄します

CSS スプライト

ウェブサイトで使用されている複数の画像を1つの画像に結合します

アドバンテージ

ウェブサイトのHTTPリクエスト数を減らす

欠点

統合画像が大きい場合、一度に読み込むのに時間がかかります

画像のインライン

画像コンテンツをHTMLに埋め込むことで、ウェブサイトへのHTTPリクエスト数を減らすことができます。

Androidでwebpを使用する

WebP の利点は、より優れた画像データ圧縮アルゴリズムにあります。これにより、画像サイズが小さくなり、肉眼では区別がつかないほどの画質が得られます。また、ロスレスとロッシーの圧縮モード、アルファ透明度、アニメーション機能も備えており、JPEG と PNG への変換効果は優れており、安定しており、統一されています。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  HTML の 2 つのタブ ナビゲーション間の競合の解決方法

>>:  Docker ケース分析: MySQL データベース サービスの構築

推薦する

MySQL マルチインスタンス構成ソリューション

1.1 MySQL マルチインスタンスとは何ですか?簡単に言うと、MySQL マルチインスタンスとは...

背景属性の8つの属性値の詳細解説(面接の質問)

CSSの背景プロパティの値背景色背景画像背景繰り返し背景位置背景添付複合プロパティ: 背景: ba...

ローカル yum ソースの設定、国内 yum ソースの設定、epel ソースの設定を行う Linux の手順

1. ローカルyumソースを設定する1. ISOイメージをマウントする マウント -o loop /...

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Vue3 ドラッグ可能な左パネルと右パネルの分割コンポーネントの実装

目次コンポーネントの分解左パネル右パネル入力パラメータの分解小道具スロット具体的な実装ドラッグする方...

CnBlogs カスタムブログスタイルの共有

半夜かけてようやくブログのスタイルを大体完成させることができました。ブログ全体が青を基調としていて、...

Web ページのデザインを学ぶときに習得すべきコードは何ですか?

この記事では、Web ページ制作を学ぶ過程で習得すべきテクニックの一部を詳しく紹介します。これらの内...

Vue3 コンポジション API でロジックの再利用を実装する方法

Composition API はロジック再利用手順を実装します。ロジックコードを関数に抽出します。...

MySQLクエリ構文の概要

序文:この記事では主に、MySQL の where、group by、order by、limit、...

MySQL の重複データの処理方法 (防止と削除)

一部の MySQL テーブルには重複レコードが含まれている場合があります。重複データが存在することを...

ジョセフリング問題を解決する 3 つの JavaScript メソッド

目次概要問題の説明循環リンクリスト順序付き配列数学的再帰要約する概要ジョセフ・リング問題は、ジョセフ...

OpenSSL を使用した Kubernetes 証明書の生成の概要

Kubernetes は、基本認証、トークン認証、CA 認証の 3 種類の認証をサポートしています。...

XHTML CSSを使用して正式なブログを書く

ブログの正式名称は「Web log」で、中国語で「ネットワークログ」を意味します。後にブログに短縮さ...

Vue プロジェクトに Electron を追加するための詳細なコード

1. package.jsonに追加する "メイン": "electr...

マークアップ言語 - テキストの CSS スタイルを指定する

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...