LPI Web Dev Essentials study materials
LPI Web Dev Essentials study resources

LPI Web Dev Essentials key terms

LPI Web Dev Essentials · Get comfortable with the vocabulary.

HTTP request/response cycle

The exchange in which a client sends a method, URL, and headers to a server, which returns a status code, headers, and optional body. Stateless by design, so each message must carry its own context.

Related: HTTP status code classes, RESTful routing
HTTP status code classes

Three-digit response codes grouped by first digit: 1xx informational, 2xx success, 3xx redirection, 4xx client error, 5xx server error. Developers pick codes to describe outcomes accurately to clients and caches.

Related: HTTP request/response cycle, RESTful routing
RESTful routing

Designing URL paths around resources and mapping HTTP methods to operations: GET reads, POST creates, PUT/PATCH updates, DELETE removes. Keeps APIs predictable and lets intermediaries cache and retry safely.

Related: HTTP request/response cycle, Middleware
Client-server architecture

A model where a user agent requests resources and a remote program supplies them. Responsibilities split so the browser handles presentation and the server handles data, authentication, and persistence.

Related: HTTP request/response cycle, Single-page application
Version control workflow

A repeatable sequence of branch, commit, review, and merge used to track changes and collaborate. Small focused commits and descriptive messages make history readable and rollbacks safe.

Related: Git repository
Git repository

A directory whose contents and history are tracked by Git, including a hidden metadata folder holding commits, branches, and configuration. Clones carry the full history unless a shallow copy is made.

Related: Version control workflow
Single-page application

A web app that loads one HTML document and updates the view with client-side JavaScript, fetching data via APIs instead of full page loads. Requires care for routing, history, and initial load size.

Related: Client-server architecture, Fetch API
Progressive enhancement

Building a working baseline with semantic HTML and server responses, then layering CSS and JavaScript for richer behavior. Keeps content usable when scripts fail or networks are slow.

Related: Semantic HTML, Graceful degradation
Graceful degradation

Designing so that when advanced features are unavailable, the experience loses polish but stays functional rather than breaking. Often paired with feature detection before using newer browser APIs.

Related: Progressive enhancement
Document type declaration

The first line of an HTML file, written as doctype html, that tells the browser to use standards mode. Omitting or misspelling it can trigger quirks rendering and inconsistent layout.

Related: Semantic HTML, HTML validation
Semantic HTML

Choosing elements for the meaning of their content, such as nav, main, article, and button, rather than for appearance. Improves accessibility, searchability, and maintainability of markup.

Related: Accessible name, ARIA role
Void element

An HTML element that cannot have content or a closing tag, such as img, br, input, and meta. Its behavior is configured entirely through attributes.

Related: Global attribute
Global attribute

An attribute valid on nearly every HTML element, for example id, class, lang, hidden, and tabindex. Element-specific attributes add behavior on top of these shared ones.

Related: Void element, Data attribute
Data attribute

A custom attribute named data-* used to attach extra information to an element for scripts or styling hooks. Read in JavaScript through the element's dataset object.

Related: Global attribute, DOM manipulation
Form control labeling

Associating each input with a visible label, usually by matching the label's for attribute to the input's id. Gives screen readers a name and enlarges the clickable target.

Related: Accessible name, Form validation attribute
Form validation attribute

Declarative constraints such as required, minlength, pattern, and type=email that let the browser block invalid submission. Always revalidate on the server, since client checks are bypassable.

Related: Form control labeling
HTML validation

Checking markup against the specification to catch unclosed tags, duplicate ids, and invalid nesting. Valid markup reduces rendering differences and parsing surprises across browsers.

Related: Document type declaration, Semantic HTML
Accessible name

The text a browser computes to identify a control, drawn from a label element, aria-label, or element content. Screen readers announce it, so it must describe purpose without visual context.

Related: Form control labeling, ARIA role
ARIA role

An attribute value that overrides or clarifies how assistive technology interprets an element. Use native elements first; incorrect roles can hide or misreport real content.

Related: Accessible name, Semantic HTML
Cascade and specificity

Rules that decide which conflicting CSS declaration wins: origin and importance first, then specificity of selectors, then source order. Understanding the order prevents reliance on overrides.

Related: CSS custom property, Box model
Box model

How each element is laid out as content, padding, border, and margin rectangles. The box-sizing property determines whether declared width includes padding and border.

Related: Cascade and specificity, Flexbox layout
Flexbox layout

A one-dimensional layout mode distributing items along a main axis with alignment, ordering, and flexible sizing. Ideal for toolbars, card rows, and centering content.

Related: Grid layout, Box model
Grid layout

A two-dimensional layout mode defining rows and columns, then placing items into cells or named areas. Suited to whole-page structure and aligned component galleries.

Related: Flexbox layout, Responsive design
Responsive design

Adapting layout to viewport size and device traits using fluid units, flexible images, and media queries. Mobile-first authoring starts with the smallest layout and adds complexity upward.

Related: Media query, Grid layout
Media query

A conditional CSS block applied only when conditions such as width ranges, orientation, or color scheme match. Enables breakpoint-specific rules without duplicating whole stylesheets.

Related: Responsive design
CSS custom property

A developer-defined value declared with a double-dash name and read with the var() function. Inherits through the tree, so themes can be switched by changing one scope.

Related: Cascade and specificity
Pseudo-class and pseudo-element

Selectors targeting state, such as hover or focus-visible, or generated subparts, such as before and after. Pseudo-elements require a content value to render.

Related: Cascade and specificity
DOM manipulation

Creating, reading, moving, or removing nodes through the document object model API. Prefer template cloning and fragment insertion to repeated innerHTML writes, which reparse markup.

Related: Event delegation, Data attribute
Event delegation

Attaching one listener to an ancestor and using event bubbling to handle events from many descendants. Reduces listener count and keeps dynamically added children working.

Related: DOM manipulation, Event loop
Event loop

The mechanism that runs queued callbacks after the current task and drains microtasks between tasks. Explains why promise callbacks run before timers scheduled in the same turn.

Related: Promise, Event delegation
Promise

An object representing a future result with pending, fulfilled, and rejected states. Consumed with then, catch, and finally, or awaited inside an async function.

Related: Async/await, Event loop
Async/await

Syntax that pauses an async function until a promise settles, letting asynchronous code read like sequential steps. Errors surface as thrown exceptions caught with try/catch.

Related: Promise, Fetch API
Fetch API

The browser interface for making HTTP requests, returning a promise for a response object. The body must be read separately with json() or text(), and HTTP errors do not reject.

Related: Promise, CORS
CORS

Cross-origin resource sharing: browser-enforced rules requiring the server to send headers permitting requests from another origin. Simple requests and preflighted requests are handled differently.

Related: Fetch API, Same-origin policy
Same-origin policy

A browser security boundary preventing scripts on one origin, defined by scheme, host, and port, from reading another origin's resources by default. Relaxed deliberately through CORS.

Related: CORS
Closure

A function retaining access to variables from the scope where it was created, even after that scope finishes. Used for private state, factories, and callbacks that remember context.

Related: Hoisting and scope
Hoisting and scope

Declarations are registered before execution: function declarations fully, var as undefined, let and const in a temporal dead zone. Block scope limits let and const visibility.

Related: Closure
Middleware

A function in a server pipeline that receives the request and response plus a next callback, then either ends the response or passes control onward. Order of registration defines execution order.

Related: RESTful routing, Environment variable
Environment variable

A value supplied by the operating system or process launcher, read in Node through process.env. Keeps secrets and per-environment settings out of committed source.

Related: Middleware
Node package and module resolution

How require or import locates a file: relative paths, core modules, then node_modules lookup walking upward. package.json fields and file extensions influence the chosen entry.

Related: package.json manifest
package.json manifest

The project metadata file listing dependencies, scripts, entry point, and module type. Scripts standardize commands, and dependency ranges control installed versions.

Related: Node package and module resolution, Semantic versioning
Semantic versioning

A three-part version scheme of major, minor, and patch where major signals breaking changes. Range prefixes such as caret and tilde control which updates a dependency install may take.

Related: package.json manifest, Lockfile
Lockfile

A generated file pinning exact resolved versions and integrity hashes of the full dependency tree. Committing it makes installs reproducible across machines and CI.

Related: Semantic versioning, package.json manifest
Non-blocking I/O

Node delegates file, network, and database work to the operating system and continues running other code, resuming via callbacks. Keeps a single thread responsive under many connections.

Related: Event loop, Stream
Stream

A Node abstraction for processing data in chunks instead of buffering it all, with readable, writable, and transform variants. Essential for large files and proxied responses.

Related: Non-blocking I/O, Middleware
Error-first callback

A Node convention where the callback's first argument is an error or null, followed by results. Callers must check the error before using any data.

Related: Promise, Non-blocking I/O