← Back to Course Index

Chrome DevTools Protocol - Glossary

Canonical terminology used throughout this course.

Core Architecture

CDP (Chrome DevTools Protocol)
The JSON-over-WebSocket protocol that Chromium exposes for external inspection, debugging, and automation of browser internals.
Avoid: DevTools API, Chrome debug API, remote debugging protocol (too vague)
Client
Any program that connects to the browser's CDP server and sends commands / receives events. DevTools GUI, Puppeteer, Playwright, and custom scripts are all clients. They have equal access.
Avoid: consumer, caller, debugger (ambiguous - "Debugger" is also a CDP domain)
Target
A debuggable entity inside the browser: a page (tab), service worker, shared worker, iframe, or the browser process itself. Each target is independently addressable via CDP.
Avoid: tab (too narrow - service workers are also targets), window
Session
An active CDP connection scoped to a specific target. A single WebSocket connection to the browser can multiplex multiple sessions (one per target) using sessionId.
Avoid: connection (a connection can carry multiple sessions)
Domain
A namespace grouping related CDP commands, events, and types. Examples: Page, DOM, Network, Runtime. Most domains must be explicitly enabled before they emit events.
Avoid: module, API, namespace (technically correct but not what the protocol calls them)

Message Types

Command
A message sent from client to browser, containing an id, a method (format: Domain.methodName), and optional params. Requests a specific action or piece of data.
Avoid: request (conflicts with HTTP/network terminology in CDP context)
Response
The browser's reply to a command, echoing the same id and carrying either a result object or an error object.
Event
An asynchronous notification pushed from browser to client. Has a method and params but no id. Only emitted for domains the client has enabled.
Avoid: notification, message (too generic)

Transport

Remote debugging port
The TCP port (conventionally 9222) that Chrome/Brave exposes when launched with --remote-debugging-port. Serves both an HTTP endpoint for target discovery and WebSocket endpoints for protocol sessions.
Target discovery
The HTTP API at http://localhost:9222/json/list that enumerates available targets, each with a webSocketDebuggerUrl for direct connection.