LPI Web Dev Essentials key terms
LPI Web Dev Essentials · Get comfortable with the vocabulary.
- HTTP request/response cycle
- Related: HTTP status code classes, RESTful routing
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.
- HTTP status code classes
- Related: HTTP request/response cycle, RESTful routing
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.
- RESTful routing
- Related: HTTP request/response cycle, Middleware
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.
- Client-server architecture
- Related: HTTP request/response cycle, Single-page application
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.
- Version control workflow
- Related: Git repository
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.
- Git repository
- Related: Version control workflow
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.
- Single-page application
- Related: Client-server architecture, Fetch API
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.
- Progressive enhancement
- Related: Semantic HTML, Graceful degradation
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.
- Graceful degradation
- Related: Progressive enhancement
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.
- Document type declaration
- Related: Semantic HTML, HTML validation
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.
- Semantic HTML
- Related: Accessible name, ARIA role
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.
- Void element
- Related: Global attribute
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.
- Global attribute
- Related: Void element, Data 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.
- Data attribute
- Related: Global attribute, DOM manipulation
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.
- Form control labeling
- Related: Accessible name, Form validation attribute
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.
- Form validation attribute
- Related: Form control labeling
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.
- HTML validation
- Related: Document type declaration, Semantic HTML
Checking markup against the specification to catch unclosed tags, duplicate ids, and invalid nesting. Valid markup reduces rendering differences and parsing surprises across browsers.
- Accessible name
- Related: Form control labeling, ARIA role
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.
- ARIA role
- Related: Accessible name, Semantic HTML
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.
- Cascade and specificity
- Related: CSS custom property, Box model
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.
- Box model
- Related: Cascade and specificity, Flexbox layout
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.
- Flexbox layout
- Related: Grid layout, Box model
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.
- Grid layout
- Related: Flexbox layout, Responsive design
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.
- Responsive design
- Related: Media query, Grid layout
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.
- Media query
- Related: Responsive design
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.
- CSS custom property
- Related: Cascade and specificity
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.
- Pseudo-class and pseudo-element
- Related: Cascade and specificity
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.
- DOM manipulation
- Related: Event delegation, Data attribute
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.
- Event delegation
- Related: DOM manipulation, Event loop
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.
- Event loop
- Related: Promise, Event delegation
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.
- Promise
- Related: Async/await, Event loop
An object representing a future result with pending, fulfilled, and rejected states. Consumed with then, catch, and finally, or awaited inside an async function.
- Async/await
- Related: Promise, Fetch API
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.
- Fetch API
- Related: Promise, CORS
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.
- CORS
- Related: Fetch API, Same-origin policy
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.
- Same-origin policy
- Related: CORS
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.
- Closure
- Related: Hoisting and scope
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.
- Hoisting and scope
- Related: Closure
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.
- Middleware
- Related: RESTful routing, Environment variable
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.
- Environment variable
- Related: Middleware
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.
- Node package and module resolution
- Related: package.json manifest
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.
- package.json manifest
- Related: Node package and module resolution, Semantic versioning
The project metadata file listing dependencies, scripts, entry point, and module type. Scripts standardize commands, and dependency ranges control installed versions.
- Semantic versioning
- Related: package.json manifest, Lockfile
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.
- Lockfile
- Related: Semantic versioning, package.json manifest
A generated file pinning exact resolved versions and integrity hashes of the full dependency tree. Committing it makes installs reproducible across machines and CI.
- Non-blocking I/O
- Related: Event loop, Stream
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.
- Stream
- Related: Non-blocking I/O, Middleware
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.
- Error-first callback
- Related: Promise, Non-blocking I/O
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.