このチュートリアルでは、ページのネットワーク アクティビティの検査に関連する、DevTools で最もよく使用される機能のいくつかについて説明します。
機能を確認するには、ネットワーク リファレンスをご覧ください。
この記事を読み進めるか、または下にあるこのチュートリアルのビデオ版をご覧ください。
ネットワーク パネルを使用する場合
通常、リソースが想定どおりにダウンロードまたはアップロードされていることを確認する必要がある場合は、[ネットワーク] パネルを使用します。[Network] パネルの最も一般的なユースケースは次のとおりです。
- リソースが実際にアップロードまたはダウンロードされていることを確認する。
- 個々のリソースのプロパティ(HTTP ヘッダー、コンテンツ、サイズなど)を検査する。
ページの読み込みパフォーマンスを改善する方法をお探しの場合は、[ネットワーク] パネルから始めないでください。ネットワーク アクティビティに関連しない負荷パフォーマンスの問題は数多くあります。ページの改善方法に関する具体的な提案が表示されるため、まず Lighthouse パネルから確認します。ウェブサイトの速度を最適化するをご覧ください。
[ネットワーク] パネルを開く
このチュートリアルを最大限に活用するには、デモを開いて、デモページで機能を試してみてください。
スタートガイドのデモを開きます。
デモを別のウィンドウに移動することをおすすめします。
Ctrl+Shift+J キーまたは Command+Option+J キー(Mac)を押して、DevTools を開きます。[コンソール] パネルが開きます。
DevTools をウィンドウの下部に固定することもできます。
[Network] タブをクリックします。[ネットワーク] パネルが開きます。
現在、[ネットワーク] パネルは空です。これは、DevTools が開いている間のネットワーク アクティビティのみを記録し、DevTools を開いてからネットワーク アクティビティが発生しないためです。
ネットワーク アクティビティをログに記録
ページによって発生するネットワーク アクティビティを表示するには:
ページを再読み込みします。[ネットワーク] パネルでは、すべてのネットワーク アクティビティが [ネットワーク ログ] に記録されます。
[ネットワーク ログ] の各行はリソースを表します。デフォルトでは、リソースは時系列で表示されます。通常、最上位のリソースはメインの HTML ドキュメントです。一番下のリソースは、最後にリクエストされたものです。
各列はリソースに関する情報を表します。デフォルトの列は次のとおりです。
- ステータス: HTTP レスポンス コード。
- 種類: リソースタイプ。
- Initiator: リソースがリクエストされた原因。[Initiator] 列のリンクをクリックすると、リクエストの原因となったソースコードが表示されます。
- サイズ: ネットワーク経由で転送されたリソースの量。
- 時間: リクエストに要した時間。
DevTools が開いている限り、ネットワーク アクティビティが [ネットワーク ログ] に記録されます。これを示すために、まず [ネットワーク ログ] の下部で最後のアクティビティを確認します。
デモの [Get Data] ボタンをクリックします。
ネットワーク ログの下部をもう一度確認します。
getstarted.json
という新しいリソースがあります。[データを取得] ボタンをクリックすると、このファイルがページからリクエストされました。
詳細情報を表示
ネットワーク ログの列は構成可能です。使用していない列は非表示にできます。また、デフォルトで非表示になっている列も多数あり、役に立ちます。
[ネットワーク ログ] テーブルのヘッダーを右クリックし、[ドメイン] を選択します。各リソースのドメインが表示されます。
低速ネットワーク接続をシミュレートする
サイトの作成に使用するパソコンのネットワーク接続は、ユーザーのモバイル デバイスのネットワーク接続よりも高速である可能性があります。ページをスロットリングすることで、モバイル デバイスでのページの読み込み時間をより正確に把握できます。
[スロットリング] プルダウンをクリックします。デフォルトでは [スロットリングなし] に設定されています。
[3G] を選択します。
[再読み込み]
を長押しして、[キャッシュの消去とハード再読み込み] を選択します。通常、ブラウザは再訪問時にキャッシュから一部のファイルを提供するため、ページの読み込みが高速化されます。[キャッシュの消去とハード再読み込み] では、ブラウザはすべてのリソースをネットワークに強制的にアクセスさせます。これは、初めて訪問したユーザーがページの読み込みをどのように体験するかを確認する場合に役立ちます。
スクリーンショットをキャプチャする
スクリーンショットは、ページ読み込み時にページがどのように見えるかを示し、各間隔で読み込まれたリソースを示します。
スクリーンショットをキャプチャする手順は次のとおりです。
[ネットワーク設定]
をクリックします。[スクリーンショット]
チェックボックスをオンにします。[キャッシュの消去とハード再読み込み] ワークフローを使用して、ページを再読み込みします。方法を確認するには、低速接続をシミュレートするをご覧ください。[スクリーンショット] タブには、読み込みプロセスのさまざまな時点でのページの様子がサムネイルで表示されます。
最初のサムネイルをクリックします。DevTools には、その時点で発生していたネットワーク アクティビティが表示されます。
[スクリーンショット] チェックボックスを切り替えて、[スクリーンショット] タブを閉じます。
ページを再読み込みします。
リソースの詳細を検査する
リソースをクリックすると、その詳細が表示されます。今すぐ試す:
getstarted.html
をクリックします。[ヘッダー] タブが表示されます。このタブを使用して HTTP ヘッダーを検査します。[プレビュー] タブをクリックすると、基本的な HTML レンダリングが表示されます。
このタブは、API が HTML でエラーコードを返す場合や、HTML ソースコードよりもレンダリングされた HTML の方が読みやすい場合、または画像を検査する場合に役立ちます。
[レスポンス] タブをクリックして、HTML ソースコードを表示します。
[イニシエータ] タブをクリックすると、リクエスト イニシエータ チェーンをマッピングするツリーが表示されます。
[タイミング] タブをクリックすると、このリソースのネットワーク アクティビティの内訳が表示されます。
[閉じる]
をクリックして、[ネットワーク ログ] をもう一度表示します。
ネットワーク ヘッダーとレスポンスを検索する
すべてのリソースの HTTP ヘッダーとレスポンスで特定の文字列または正規表現を検索する必要がある場合は、[検索] タブを使用します。
たとえば、リソースで適切なキャッシュ ポリシーが使用されているかどうかを確認するとします。
[検索]
アイコンをクリックします。[ネットワーク ログ] の左側に [検索] タブが開きます。「
Cache-Control
」と入力して Enter キーを押します。[検索] タブには、リソースのヘッダーまたはコンテンツで検出されたCache-Control
のすべてのインスタンスが一覧表示されます。結果をクリックして表示します。クエリがヘッダーで見つかった場合は、[ヘッダー] タブが開きます。コンテンツ内でクエリが見つかった場合は、[レスポンス] タブが開きます。
[Search] タブと [Headers] タブを閉じます。
リソースのフィルタ
DevTools には、現在のタスクに関連しないリソースを除外するための多数のワークフローが用意されています。
フィルタ ツールバーはデフォルトで有効になっています。入力されていない場合は、次の手順を実行します。
- [フィルタ] をクリックして表示します。
文字列、正規表現、プロパティでフィルタする
[フィルタ] 入力ボックスでは、さまざまな種類のフィルタリングがサポートされています。
[フィルタ] 入力ボックスに「
png
」と入力します。png
というテキストを含むファイルのみが表示されます。この場合、フィルタに一致するファイルは PNG 画像のみです。タイプ
/.*\.[cj]s+$/
。DevTools では、ファイル名がj
で終わる、またはc
の後に 1 文字以上のs
が続くリソースは除外されます。タイプ
-main.css
。DevTools はmain.css
を除外します。パターンに一致する他のファイルも除外されます。[フィルタ] テキスト ボックスに「
domain:raw.githubusercontent.com
」と入力します。DevTools では、このドメインと一致しない URL を持つリソースは除外されます。フィルタ可能なプロパティの一覧については、プロパティでリクエストをフィルタするをご覧ください。
[フィルタ] 入力ボックスのテキストをすべて削除します。
リソースタイプでフィルタする
スタイルシートなど、特定の種類のファイルに焦点を当てるには:
[CSS] をクリックします。他のファイル形式はすべて除外されます。
スクリプトも表示するには、Ctrl キーまたは Command キー(Mac)を押しながら [JS] をクリックします。
[すべて] をクリックしてフィルタを解除し、すべてのリソースを再び表示します。
他のフィルタリング ワークフローについては、リクエストのフィルタリングをご覧ください。
リクエストをブロックする
一部のリソースが利用できない場合、ページの外観と動作はどのようになりますか。完全に機能しなくなったのですか?それとも、まだある程度機能しますか?リクエストをブロックすると、次の情報を確認できます。
Ctrl+Shift+P キーまたは Command+Shift+P(Mac)キーを押して、コマンド メニューを開きます。
「
block
」と入力し、[Show Request Blocking] を選択して Enter キーを押します。[パターンを追加] ボタンをクリックします。
タイプ
main.css
。[追加] をクリックします。
ページを再読み込みします。予想どおり、ページのスタイルが少しおかしくなっています。これは、ページのメインのスタイルシートがブロックされているためです。ネットワーク ログの
main.css
行をメモします。赤色のテキストは、リソースがブロックされていることを示します。[リクエストのブロックを有効にする] チェックボックスをオフにします。
ネットワーク アクティビティの検証に関連するその他の DevTools 機能については、ネットワーク リファレンスをご覧ください。