← All posts

Windows on the frontend

A network panel without DevTools — JustZix's Network tab

The DevTools Network panel has one stubborn flaw: it only records while it is open. Refresh, forget to open it first, and the request you needed is gone. JustZix's Output Console has a Network tab that lives inside the page, captures traffic via chrome.webRequest, and keeps a background buffer — so it sees requests that fired before you opened the window. Here is how it works and where it fits.

How capture works: chrome.webRequest

The Network tab does not hook fetch or XMLHttpRequest in page code. It uses chrome.webRequest — a browser-level API the extension taps into via the webRequest manifest permission. That means it observes requests at the browser layer, the same place the network stack does.

The practical consequence is the headline feature: a background buffer. The extension keeps a running record of requests for the tab. When you open the Output Console, the Network tab is already populated with what happened before you got there. No "refresh to capture" dance.

Opening the Network tab

Open the Output Console from the JustZix floating-button menu, or as a TEMP window with Ctrl+Alt+K, then switch to the Network tab. Its badge shows the live request count. Because of the buffer, the list is not empty even on a page you loaded minutes ago.

What every column means

Each captured request is one row. The columns:

ColumnMeaning
MethodHTTP verb — GET, POST, PUT, DELETE, …
URLThe full request URL.
StatusHTTP status code — 200, 301, 404, 500, …
Resource typeWhat kind of request: document, script, stylesheet, image, xhr/fetch, font, …
SizeHow many bytes the request transferred.
DurationHow long the request took, in milliseconds.
Remote addressThe IP address the request actually reached.
InitiatorWhat triggered the request — the script or resource that kicked it off.

Method, status and URL tell you what happened. Size and duration tell you how expensive it was. Remote address and Initiator tell you where it went and who started it — the two columns that matter most when you are hunting a request you did not write yourself.

The contextual filter bar — three rows

The Output Console's filter bar is contextual; on the Network tab it expands into three rows of controls:

  1. Resource type — a checkbox row: document, script, stylesheet, image, xhr/fetch, font, and more. Uncheck the types you do not care about. Debugging an API? Keep only xhr/fetch and the noise of images and fonts vanishes.
  2. HTTP status class — a checkbox row by class: 2xx, 3xx, 4xx, 5xx. Uncheck 2xx and 3xx to see only the failures.
  3. Size + duration + domain — two range sliders (0–100000, duration in milliseconds) plus a domain filter field.

The checkbox rows have select-all / clear-all shortcuts, so you can clear everything and tick the one type you want, or the reverse — no clicking through ten boxes by hand.

The sliders and the domain filter

The range sliders turn vague suspicion into a precise query:

All of this stacks with the always-visible search box below the filter bar — a live, case-insensitive substring filter over the rows. Esc clears the search.

Use case 1 — debugging API calls

Clear the resource-type row, tick only xhr/fetch. Now the Network tab is just your application's API traffic — no scripts, no images. Trigger the action you are debugging and watch the request appear: method, URL, status, how long it took. If the status is wrong, you know immediately whether the problem is the request or the code that handles the response.

Use case 2 — finding slow or oversized requests

Drag the duration slider up to a threshold — say 1500 ms — and the list collapses to your slowest requests. Do the same with the size slider to surface heavy payloads. Two drags and you have a performance shortlist: the requests actually worth optimising, sorted out from the dozens that are fine.

Use case 3 — spotting 4xx and 5xx failures

This is the one the Errors tab cannot do for you. A failed fetch or XHR is not a JavaScript exception — it never reaches the Errors tab. To find broken requests, come to the Network tab and uncheck 2xx and 3xx in the status row. What is left is every 4xx and 5xx: the missing endpoint, the auth failure, the server error. Add a search term to pin down one path.

Use case 4 — auditing third-party trackers and beacons

Every site loads things it did not necessarily advertise — analytics, ad pixels, beacons. Type a tracker domain into the domain filter, or watch the Initiator column to see which script fired which beacon. Combined with the Remote address column you can tell exactly where data is going. It is a quick, honest privacy audit without any specialist tooling.

Honest comparison with the DevTools Network panel

The DevTools Network panel is more powerful — this tab does not pretend otherwise. But the trade-offs are real and they cut both ways:

JustZix Network tabDevTools Network
Where it livesInside the page, draggable windowSeparate docked/undocked panel
Needs DevToolsNoYes
Captures before you opened itYes — background bufferNo — only while open
Request metadataYes — method, status, size, duration, IP, initiatorYes
Response bodiesNoYes
Request/response headers, timing waterfallNoYes

The decisive limitation: chrome.webRequest gives request metadata, not response bodies. If you need to read the JSON a request returned, DevTools is still your tool. If you need to know which requests fired, whether they succeeded, how slow they were, and where they went — including requests from before you started looking — the Network tab does it in-tab, with no DevTools at all.

When to reach for which

They are not rivals. The Network tab handles the everyday "what is this page doing on the wire" question; DevTools handles the deep dive.

See also

A network panel that captures from before you opened it, right inside the tab — no F12 required. Download JustZix — it is free, runs on Chrome 100+, and takes about two minutes to install.

Rate this post

No ratings yet — be the first.

Try it yourself

Install JustZix and paste any snippet from this article. Two minutes from zero to a working rule across all your devices.

Get JustZix

Features · How it works · Examples · Use cases