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, amethod(format:Domain.methodName), and optionalparams. 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
idand carrying either aresultobject or anerrorobject. - Event
- An asynchronous notification pushed from browser to client. Has a
methodandparamsbut noid. 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/listthat enumerates available targets, each with awebSocketDebuggerUrlfor direct connection.