We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Сетевой монитор (Network Monitor) показывает все сетевые запросы, которые выполняет Firefox (например, когда загружается страница или выполняются запросы типа XMLHttpRequests), а также как долго выполняется запрос и детали запроса.

Как открыть Сетевой монитор

Есть несколько различных способов:

Пожалуйста, обратите внимание, что сочетание клавиш было изменено в Firefox 55

  • Нажмите Ctrl + Shift + E ( Command + Option + E на Mac).
  • Выберите "Сеть" из меню "Web Developer" (это подменю меню "Tools" на OS X или Linux).
  • Кликните значок (), который находится на панели инструментов в меню (), а после выберите "Сеть".

Сетевой монитор появится внизу окна браузера. Для просмотра запросов перезагрузите страницу:

Сетевой монитор записывает сетевые запросы постоянно, пока открыты Инструменты разработчика, даже когда вкладка Сеть не выбрана. Поэтому можно начать отладку страницы, например, в Веб-консоли, а потом переключиться и посмотреть сетевую активность в Сетевом мониторе без перезагрузки страницы.

Обзор пользовательского интерфейса

Интерфейс разбит на четыре основные части:

Performance analysis view

Панель инструментов

Начиная с Firefox 47 и далее, панель инструментов находится сверху окна. В ранних версиях Firefox она располагалась снизу.

Она содержит:

Примечание: Начиная с Firefox 58, кнопка фильтра "Flash"более недоступна, поэтому запросы Flash включены в фильтр "Прочее" (баг 1413540).

Список сетевых запросов

По умолчанию Сетевой монитор показывает список всех сетевых запросов, сделанных по ходу загрузки страницы. Каждый запрос отображается в отдельной строке:

По умолчанию Сетевой монитор очищается каждый раз, когда вы переходите на новую страницу или перезагружаете текущую. Вы можете это изменить посредством включения галочки "Включить непрерывные логи" в настройках.

Поля таблицы запросов

Начиная с Firefox 55, вы можете выбирать разные колонки, кликая правой кнопкой мыши на заголовок таблицы, а затем выбирая нужные колонки в выпадающем меню. Опция "Восстановить колонки" доступна для сброса списка колонок к исходному варианту. Список колонок:

  • Статус (Status): возвращенный HTTP-код статуса. Здесь есть цветной значок:
    • синий круг - для информационных кодов (коды 1XX). В частности включает код 101 (переключение протоколов) для WebSocket-переключения.
    • зелёный круг - для успеха (коды 2XX)
    • оранжевый треугольник - для перенаправления (3XX)
    • красный квадрат - для ошибок (4XX и 5XX)
    • серая окружность - для ответов, которые получены из кэша браузера.
    Точный код отображен сразу после значка.
  • Метод (Method): HTTP-метод запроса.
  • Файл (File): базовое имя запрошенного файла.
  • Протокол (Protocol): Используемый сетевой протокол. (По умолчанию скрытая колонка. Новая в Firefox 55)
  • Схема (Scheme): Схема (https/http/ftp/...), взятая из пути запроса. (По умолчанию скрытая колонка. Новая в Firefox 55)
  • Домен (Domain): домен, к которому происходит запрос.
    • Если запрос использовал SSL/TLS, и подключение имело низкий уровень безопасности, например, некриптостойкий шифр, то вы увидите предупреждающий треугольник у имени домена. Вы сможете увидеть более подробную информацию о проблеме на вкладке Защита в области деталей запроса.
    • Наведите мышь на имя домена, чтобы увидеть IP-адрес.
    • Значок рядом с доменом предоставит расширенную информацию о статусе безопасности этого запроса. Смотрите Значки безопасности.
  • Удалённый IP (Remote IP): IP-адрес сервера, отвечающего на запрос. (По умолчанию скрытая колонка. Новая в Firefox 55)
  • Причина (Cause): Причина, по который был вызван запрос, например, XHR-запрос, <img>, скрипт, скрипт, запрашивающий изображение и др. (Новая в Firefox 49)
  • Тип (Type): Content-type ответа.
  • Куки (Cookies): Количество куки, связанных с запросом. (По умолчанию скрытая колонка. Новая в Firefox 55)
  • Set-Cookies: Количество куки, связанных с ответом. (По умолчанию скрытая колонка. Новая в Firefox 55)
  • Передано (Transferred): число байт, которые фактически были переданы для загрузки ресурса. Это число будет меньше, чем Размер, если ресурс был упакован. Начиная с Firefox 47, если ресурс был получен из кэша service worker, то в этой ячейке будет отображено "service worker". Если значение получено из кэша браузера - то "кэшировано".
  • Размер (Size): размер переданного ресурса.

По клику на заголовок колонки произойдёт сортировка всех запросов по этой колонке. По умолчанию сортировка происходит по колонке "Временная шкала".

Миниатюры изображений

Если файл является изображением, то в строку будет включена его миниатюра, при наведении на которую появится посмотр изображения во всплывающей подсказке:

Значки безопасности

Сетевой монитор показывает значок в колонке Домен:

Это предоставляет дополнительную информацию о безопасности запроса:

Значок Значение
HTTPS
Слабый HTTPS (наример, использовался некриптостойкий шифр)
Ошибка HTTPS (например, недействительный сертификат)
HTTP
Localhost

По слабым и ошибочным HTTPS-запросам, вы можете посмотреть более детальную информацию о проблеме на вкладке "Защита".

Колонка "Причина" (Cause)

Колонка "Причина" указывает, что было причиной запроса. Обычно это очевидно, и можно увидеть корреляцию между этой колонкой и колонкой "Тип". Наиболее распространённые значения:

  • document: Исходный HTML-документ.
  • img: Элемент <img> .
  • imageset: Элемент <img> .
  • script: Файл JavaScript.
  • stylesheet: Файл CSS.

Когда запрос срабатывает из JavaScript, то слева от надписи в колонке "Причина" появится маленький значок JS. При наведении на него курсором мыши появится всплывающее окно, содержащее трассировку стека для запроса; это даёт подсказку, откуда был вызван запрос.

Во всплывающей подсказке вы можете кликнуть в любой из появившихся элементов, чтобы открыть связанный скрипт в панели "Отладчик".

Временной график

Список запросов отображает время выполнения разных частей каждого запроса.

Каждый график дан в горизонтальном виде в своей строке запроса, сдвинутый относительно позиций других запросов, поэтому вы можете увидеть полное время использованное для загрузки страницы. Для понимания деталей цветового кодирования, используемого здесь, загляните в раздел "Тайминги".

Начиная с Firefox 45 график содержит две вертикальные линии:

  • синяя линия маркирует точку, в которой произошло событие DOMContentLoaded страницы
  • красная линия маркирует точку, в которой произошло событие load страницы

Фильтр запросов

Вы можете отфильтровать запросы по типу контента, по URL, по XMLHttpRequests или WebSocket, или по свойствам запроса.

Фильтрация по типу контента

Для фильтрации по типу контента используйте кнопки на панели инструментов.

Фильтрация XHR

Для просмотра только XHR-запросов используйте кнопку "XHR" панели инструментов.

Фильтрация WebSockets

Новое в Firefox 48

Для просмотра только подключений WebSocket, используйте кнопку "WS" панели инструментов.

Для контроля данных, передаваемых через WebSocket-соединения, попробуйте использовать дополнение WebSocket Monitor (устаревшее).

Фильтрация по URL

Для фильтрации по URL используйте поле поиска, расположенное правее на Панели инструментов. Кликните на это поле или нажмите клавиши Ctrl + F или Cmd + F, и начните набирать текст. При этом список запросов будет отфильтрован по строкам, содержащим введённую подстроку; кроме того, фильтрация также будет происходить по колонкам "Домен" и "Файл".

Начиная с Firefox 45, вы можете фильтровать запросы, которые не содержат введённую вами строку, предварив вводимую строку символом "-". Например, запрос "-google.com" покажет все запросы, которые не имеют подстроки "google.com" в своих URL.

Фильтрация по свойствам

Новое в Firefox 55

Для фильтрации по конкретным свойствам запроса используйте поле поиска на Панели инструментов. Но это поле признаёт только определённые ключевые слова, которые используются для фильтрации по конкретным свойствам запроса. За ключевым словом следует двоеточие, а затем значение фильтра. Значение фильтра регистронезависимое. Если написать знак "минус" (-), то это применит к фильтру отрицание. Также можно комбинировать несколько фильтров через пробел.

Ключевое слово Значение Примеры
status-code Показать ресурсы, имеющие указанный код HTTP-статуса. status-code:304
method Показать ресурсы, запрошенные через указанный HTTP-метод запроса. method:post
domain Показать ресурсы, пришедшие с указанного домена. domain:mozilla.org
remote-ip Показать ресурсы, пришедшие с сервера с указанным IP-адреcом. remote-ip:63.245.215.53
remote-ip:[2400:cb00:2048:1::6810:2802]
cause Показать ресурсы, соответствующие типу причины. Типы можно найти в описании колонки "причина". cause:js
cause:stylesheet
cause:img
transferred Показать ресурсы, имеющие указанный размер переданных данных или размер близкий к нему. Буква k может быть использована как суффикс для килобайт, m - мегабайт. Например, значение 1k эквивалентно 1024. transferred:1k
size Показать ресурсы, имеющие указанный размер (после декомпрессии) или размер близкий к указанному. Буква k может быть использована как суффикс для килобайт, m - мегабайт. Например, значение 1k эквивалентно 1024. size:2m
larger-than Показать ресурсы, которые больше чем указанный размер в байтах. Буква k может быть использована как суффикс для килобайт, m - мегабайт. Например, значение 1k эквивалентно 1024. larger-than:2000
-larger-than:4k
mime-type Показать ресурсы, которые соответствуют указанному MIME-типу. mime-type:text/html
mime-type:image/png
mime-type:application/javascript
is is:cached и is:from-cache показывают только ресурсы, пришедшие из кэша.
is:running показывает только ресурсы, передаваемые в настоящее время.
is:cached
-is:running
scheme Показать ресурсы, переданные через указанную схему. scheme:http
has-response-header Показать ресурсы, содержащие указанный HTTP-заголовок в ответе. has-response-header:cache-control
has-response-header:X-Firefox-Spdy
set-cookie-domain Показать ресурсы, имеющие заголовок Set-Cookie с атрибутом Domain, который имеет указанное значение. set-cookie-domain:.mozilla.org
set-cookie-name Показать ресурсы, имеющие заголовок Set-Cookie и в нём атрибут с указанным именем. set-cookie-name:_ga
set-cookie-value Показать ресурсы, имеющие заголовок Set-Cookie и в нём атрибут с указанным значением. set-cookie-value:true
regexp Показать ресурсы, имеющие URL, который соответствует данному регулярному выражению. regexp:\d{5}
regexp:mdn|mozilla

Контекстное меню

При кликне правой клавишей мыши по строке отобразится контекстное меню:

  • Копировать URL
  • Копировать параметры URL (новое в Firefox 40)
  • Копировать POST-данные (новое в Firefox 40, только для запросов POST)
  • Копировать как cURL
  • Копировать заголовки запроса (новое в Firefox 40)
  • Копировать заголовки ответа (новое в Firefox 40)
  • Копировать ответ (новое в Firefox 40)
  • Копировать изображение как URL данных (только для изображений)
  • Копировать всё как HAR (новое в Firefox 41)
  • Сохранить всё как HAR (новое в Firefox 41)
  • Сохранить изображение как (новое в Firefox 55, только для изображений)
  • Изменить и снова отправить
  • Открыть в новой вкладке
  • Запустить анализ производительности

Изменить и снова отправить

Эта опция открывает редактор, позволяющий вам отредактировать метод запроса, URL, параметры и заголовки и ещё раз отправить запрос.

Копировать как cURL

Эта опция копирует сетевой запрос в буфер как команду cURL, и вы сможете запустить его из командной строки. Команда может включать следующие опции:

-X [METHOD] Если метод запроса не GET или POST
--data Для параметров запроса, закодированных в URL
--data-binary Для параметров запроса типа Multipart. Например, файлы.
--http/VERSION Если HTTP версия не 1.1
-I Если метод запроса HEAD
-H

Один для каждого заголовка запроса.

Начиная с Firefox 34, если присутствует заголовок "Accept-Encoding", то команда cURL будет включать --compressed вместо -H "Accept-Encoding: gzip, deflate". Это значит, что запрос был автоматически распакован.

Копировать/Сохранить всё как HAR

Новое в Firefox 41.

Эти операции создают HTTP-архив (HAR) для всех запросов из списка. Формат HAR позволяет вам экспортировать детальную информацию о сетевых запросах. "Копировать всё как HAR" копирует данные в буфер, "Сохранить всё как HAR" открывает диалог сохранения архива на диск.

Детализация запроса

После щелчка по строке в правой части Сетевого монитора появится новая панель, которая предоставит более детальную информацию о запросе.

Вкладки сверху этой панели позволяют переключаться между следующими страницами:

  • Заголовки (Headers)
  • Куки (Cookies)
  • Параметры (Params)
  • Ответ (Response)
  • Тайминги (Timings)
  • Защита (Security) (только для защищённых запросов)
  • Предпросмотр (Preview) (только для типа HTML) (Удалено в Firefox 55)

Щелчок по значку, расположенном справа на панели инструментов (справа от поиска), закроет эту панель и вернёт вас к просмотру списка.

Заголовки (Headers)

Эта вкладка содержит основную информацию о запросе:

Она включает:

  • URL-запроса
  • Метод запроса
  • Удалённый IP-адрес и порт (новое в Firefox 39)
  • Код состояния со ссылкой на документацию на сайте MDN (если она есть)
  • HTTP-заголовки запроса и ответа, которые были отправлены
  • кнопка "Изменить и снова отправить"

Вы можете отфильтровать отображаемые заголовки:

Новое в Firefox 54

Кроме того, каждый заголовок это ссылка для углубленного изучения документации заголовков HTTP.

Куки (Cookies)

Эта вкладка показывает все детали кук, которые были отправлены с запросом или ответом:

Как и в случае с заголовками их список можно фильтровать.

Параметры (Params)

Эта вкладка отображает параметры GET и данные POST запроса:

Ответ (Response)

Полное содержание ответа. Если в ответе HTML, JS или CSS, то он отобразится как текст:

Если ответ - JSON, то он отобразится как просматриваемый объект.

Если ответ - изображение, то вкладка будет содержать предпросмотр:

Тайминги (Timings)

Вкладка "Тайминги" разбивает сетевой запрос на следующие этапы, определённые в спецификации HTTP-архива (HAR):

Имя Описание
Блокировка (Blocked)

Время, потраченное в очереди ожидания для создания сетевого соединения.

Браузер накладывает ограничение на число одновременных соединений с одним сервером. В по умолчанию это 6, но это можно изменить, используя свойство network.http.max-persistent-connections-per-server. Если все соединения используются, то браузер не может скачивать больше рерурсов, до тех пор пока одно из соединений не освободится.

Разрешение DNS (DNS resolution) Время на разрешение имени хоста.
Соединение (Connecting) Время на создание TCP-соединения.
Отправка (Sending) Время на отправку HTTP-запроса на сервер.
Ожидание (Waiting) Ожидание ответа от сервера.
Получение (Receiving) Время на чтение полного ответа с сервера (или из кэша).

Здесь представлена детальная информация, есть аннотации, а также "графики-полосы" времени запроса, которые показывают разбивку общего времени на этапы:

Защита (Security)

Если работа с сайтом ведётся через HTTPS, то у вас появится дополнительная вкладка "Защита". Она содержит детали об используемой безопасной связи, включая: протокол, набор шифров, детали сертификата:

На вкладке "Защита" отображается предупреждение о слабой безопасности:

  1. Использование SSLv3 вместо TLS
  2. Использование шифра RC4

Предпросмотр (Preview)

Удалено в Firefox 55.

Если тип файла это HTML, то появится вкладка "Предпросмотр". Она отображает вид, как выглядит HTML-страница в браузере:

Приостановка и возобновление записи сетевого трафика

В Firefox 58 и далее, Сетевой монитор имеет кнопку, которая приостанавливает и возобновляет запись трафика текущей страницы. Это полезно, когда, например, вы хотите получить установившийся вид страницы для отладки, но вид страницы пока ещё меняется, потому что она ещё грузится или выполняются запросы. Кнопка "Пауза" позволяет увидеть текущий снимок состояния (snapshot).

Эта кнопка находится скраю слева на главной панели Сетевого монитора, и выгдялит как обычная кнопка "Пауза" — .

Вот её вид:

Когда она нажата, то меняет значок на иконку "Пуск" (треугольник), и вы можете возобновить запись трафика, нажав на эту кнопку ещё раз.

Анализ производительности

Сетевой монитор включает инструмент для анализа производительности, который покажет вам, как долго браузер загружает различные части сайта.

Для запуска инструмента анализа производительности кликните значок "Часы" на панели.

(Кроме того, если у вас только что открытый Сетевой монитор, и список запросов ещё пуст, то у вас будут "Часы" в главном окне.)

Сетевой монитор загрузит сайт дважды: первый раз с пустым кэшем браузера, а второй - с заполненным. Это имитирует вход пользователя на сайт впервые и последующие посещения. Он показывает результаты обоих запусков бок о бок горизонтально, либо вертикально, если окно браузера сжатое:

Результаты каждого запуска представлены в таблице и круговой диаграмме. Таблицы группируют ресурсы по типам и показывают их общий размер и общее время, занятое их загрузкой. Сопровождающие круговые диаграммы показывают относительный объём ресурсов каждого типа.

Для возврата в Сетевой монитор нажмите кнопку "Назад", расположенную слева от результатов.

Нажав на конкретную часть в круговой диаграмме вы перейдёте в Сетевой монитор, в котором будут автоматически установлены фильтры для просмотра запросов этого типа ресурса.

Метки документа и участники

Внесли вклад в эту страницу: pk.prog, MAJTREJ, Doxtyp, ssaayylleerr09, Aleksej, loginov-as
Обновлялась последний раз: pk.prog,