Skip to content

Network Inspector ​

The NETWORK sub-tab in DEVTOOLS captures every HTTP request and response automatically. No configuration. No filter needed upfront. Everything goes in.


Overview ​

Unlike browser DevTools that you have to open at the right time, Nothing Browser captures everything from the first request.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  NETWORK [247]                                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Method   β”‚ Status β”‚ Type     β”‚ Size     β”‚ URL                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ POST     β”‚ 200    β”‚ Fetch    β”‚ 1.2 KB   β”‚ https://api.example.com/v1/login β”‚
β”‚ GET      β”‚ 304    β”‚ Script   β”‚ -        β”‚ https://cdn.example.com/app.js   β”‚
β”‚ GET      β”‚ 200    β”‚ Image    β”‚ 45 KB    β”‚ https://cdn.example.com/logo.png β”‚
β”‚ GET      β”‚ 404    β”‚ XHR      β”‚ 0 B      β”‚ https://api.example.com/v1/missingβ”‚
β”‚ WS       β”‚ 101    β”‚ WebSocketβ”‚ -        β”‚ wss://socket.example.com         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

What Gets Captured ​

FieldDescriptionExample
MethodHTTP methodGET, POST, PUT, DELETE, PATCH
Status codeResponse status200, 304, 404, 500
Content typeResponse formatapplication/json, text/html
Response sizeSize in bytes/KB1.2 KB, 45 KB
Request headersAll headers sentUser-Agent, Authorization
Response headersAll headers receivedSet-Cookie, Content-Type
Request bodyPOST/PUT/PATCH bodyJSON, form data, plain text
Response bodyFull server responseJSON auto-formatted
TimestampTime of request14:30:25.123
DurationTime to complete234 ms

How to Use It ​

Step-by-Step ​

Step 1: Open Nothing Browser
              β”‚
              β–Ό
Step 2: Go to BROWSER tab and navigate to any site
              β”‚
              β–Ό
Step 3: Switch to DEVTOOLS β†’ NETWORK
              β”‚
              β–Ό
Step 4: All requests are already there (no need to pre-open)

Detail Panel ​

Click any row to see the full detail in the right panel. Three sub-tabs:

Sub-tabContent
Summary + HeadersFirefox-style view with decoded query params, full URL, all headers
ResponseThe server response body β€” JSON formatted if applicable
RawRaw HTTP/1.1 representation

Summary + Headers View ​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Summary                                                                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  URL: https://api.example.com/v1/users?page=2&limit=20                     β”‚
β”‚  Method: GET                                                                β”‚
β”‚  Status: 200 OK                                                             β”‚
β”‚  Type: application/json                                                     β”‚
β”‚  Size: 1.2 KB                                                               β”‚
β”‚  Duration: 234 ms                                                           β”‚
β”‚                                                                             β”‚
β”‚  Request Headers:                                                           β”‚
β”‚    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...               β”‚
β”‚    Authorization: Bearer eyJhbGciOiJIUzI1NiIs...                           β”‚
β”‚    Accept: application/json                                                 β”‚
β”‚                                                                             β”‚
β”‚  Response Headers:                                                          β”‚
β”‚    Content-Type: application/json                                           β”‚
β”‚    Set-Cookie: session_id=abc123; Path=/; HttpOnly; Secure                 β”‚
β”‚    Cache-Control: no-cache                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Response View ​

json
{
  "users": [
    { "id": 1, "name": "John Doe", "email": "john@example.com" },
    { "id": 2, "name": "Jane Smith", "email": "jane@example.com" }
  ],
  "total": 2,
  "page": 1
}

Raw View ​

http
GET /v1/users?page=2&limit=20 HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Accept: application/json

HTTP/1.1 200 OK
Content-Type: application/json
Set-Cookie: session_id=abc123; Path=/; HttpOnly; Secure
Cache-Control: no-cache

{"users":[{"id":1,"name":"John Doe","email":"john@example.com"}],"total":2,"page":1}

Filtering ​

Filter Bar ​

Use the filter bar to search by URL:

FilterExample
Text search/api/v1
Exact match"https://api.example.com/login"
Wildcard*users*

Type Dropdown ​

Filter by request type:

TypeDescription
XHRXMLHttpRequest (AJAX calls)
FetchFetch API calls
WSWebSocket connections
ScriptJavaScript files
DocHTML documents
ImgImages
CSSStylesheets
FontFont files

Combined Filtering ​

Filter by type AND search:

Type: XHR + Search: /api/users β†’ Shows only user API calls

Export from Network Tab ​

Select any row and click:

ButtonActionOutput
COPY HEADERSCopies summary + headersPlain text
COPY RESPONSECopies response bodyRaw text
AS CURLGenerates cURL commandTerminal command
AS PYTHONGenerates Python scriptrequests code
DOWNLOADSaves full request+response.txt file

What's Included in Exports ​

ComponentIncluded?
URLβœ… Yes
Methodβœ… Yes
Request headersβœ… Yes
Request bodyβœ… Yes
Response headersβœ… Yes
Response bodyβœ… Yes
Cookiesβœ… Yes (from Cookie Inspector)

Cookies from the Cookie Inspector are automatically included in exports.


Capture Method ​

HTTP capture uses two layers to ensure complete capture:

Layer 1: Network Layer (C++) ​

QWebEngineUrlRequestInterceptor captures every request at the network layer:

cpp
void Interceptor::interceptRequest(QWebEngineUrlRequestInfo &info) {
    // Captures request URL, method, headers
    // Can inject headers before request is sent
    // Happens before any JavaScript runs
}

Captures: URL, method, headers, timing

Layer 2: JavaScript Layer ​

JavaScript injection patches fetch and XMLHttpRequest:

javascript
// Patched fetch
const originalFetch = window.fetch;
window.fetch = function(...args) {
    // Capture request body BEFORE it's sent
    const requestBody = args[1]?.body;
    
    return originalFetch.apply(this, args).then(response => {
        // Capture response body
        return response;
    });
};

Captures: Request body (POST data), response body

Why Two Layers? ​

LayerCapturesMisses
Network layer onlyHeaders, timingRequest body, response body
JS layer onlyBodyHeaders, timing
Both layersEverythingβ€”

This dual approach is why request bodies (POST data) are captured correctly β€” the JS layer sees the body before it's sent.


Real-World Use Cases ​

1. Debugging API Calls ​

text
1. Perform action in browser
2. Check NETWORK tab
3. Find the API call
4. Check request/response
5. See exactly what went wrong

2. Reverse Engineering Authentication ​

text
1. Log in to site
2. Find POST request to /login
3. Check request body (username, password)
4. Check response (token, cookies)
5. Replicate in your code

3. Finding Hidden Endpoints ​

text
1. Browse the site
2. Watch NETWORK tab
3. Look for API calls to /internal, /admin, /v2
4. Discover undocumented endpoints

4. Performance Analysis ​

text
1. Load a slow page
2. Check NETWORK tab
3. Sort by duration
4. Find slowest requests
5. Optimize or cache

Request Types Explained ​

TypeDescriptionCommon Use
XHRXMLHttpRequestLegacy AJAX calls
FetchFetch APIModern AJAX calls
WSWebSocketReal-time data
ScriptJavaScript filesPage functionality
DocHTML documentsPage navigation
ImgImagesVisual content
CSSStylesheetsPage styling
FontFont filesTypography
MediaAudio/VideoMultimedia

Column Sorting ​

Click column headers to sort:

ColumnSort Behavior
MethodAlphabetical
StatusNumerical
TypeAlphabetical
SizeNumerical
URLAlphabetical
DurationNumerical

Live Counter ​

The tab label shows the number of captured requests:

NETWORK [247]   ← 247 requests captured so far

This updates in real time as requests are captured.


Performance Notes ​

MetricValue
Max requestsUnlimited (memory permitting)
Max response size10MB (configurable)
Capture overheadMinimal
Memory usageIncreases with capture size

Tip: Click CLEAR periodically for long sessions.


Troubleshooting ​

No Requests Captured ​

Solutions:

  • Check you're on the NETWORK sub-tab
  • Navigate to a page (capture starts automatically)
  • Check DEVTOOLS is open

Request Body Empty ​

Solutions:

  • Request may have no body (GET requests)
  • Body may be too large (>10MB)
  • Body may be binary/streaming

Response Body Empty ​

Solutions:

  • Response may be empty (204 No Content)
  • Response may be streaming
  • Try DOWNLOAD to save raw response

Export Missing Cookies ​

Solution: Ensure cookies are captured in COOKIES tab and domain matches request URL.


Keyboard Shortcuts ​

ShortcutAction
Ctrl+FFocus filter bar
Ctrl+Shift+FClear filter
Ctrl+CCopy selected request (headers + body)
DeleteClear all captured requests

Next Steps ​


Nothing Ecosystem Β· Ernest Tech House Β· Kenya Β· 2026

MIT Licensed | Built by Ernest Tech House Β· Kenya Β· 2026