404 Error
An HTTP status code that signals the requested resource cannot be found on the server. A 404 occurs when a URL points to a missing page or endpoint; servers return this code to inform browsers that the page doesn't exist.
From HTML basics to cloud computing, find clear definitions for every web development term.
An HTTP status code that signals the requested resource cannot be found on the server. A 404 occurs when a URL points to a missing page or endpoint; servers return this code to inform browsers that the page doesn't exist.
Under the Americans with Disabilities Act, websites must be accessible to people with disabilities. ADA compliance means removing barriers such as missing alt text or poor keyboard navigation so that users with visual, auditory or motor impairments can access information equally.
An iterative development approach that values adaptive planning, collaboration and frequent delivery of working software. Agile teams work in short cycles (sprints), reprioritizing tasks based on feedback and changing requirements.
A technique that enables web pages to request data from a server and update the page without reloading. Using XMLHttpRequest or the Fetch API, AJAX fetches JSON or XML in the background and dynamically updates the DOM for smoother interactions.
A finite, well-defined set of instructions designed to solve a problem or perform a computation efficiently. Algorithms underpin software tasks such as sorting lists, searching data or computing results.
A brief textual description added to an image via the HTML alt attribute. Alt text provides context to screen-reader users and displays when images fail to load, improving accessibility and search engine understanding.
The practice of collecting, measuring and analyzing website data to understand user behavior and improve site performance. Web analytics gathers metrics like visits, bounce rates and conversions, then reports and interprets them to guide design and business decisions.
A full-featured front-end framework maintained by Google. Written in TypeScript, Angular uses components, two-way data binding and dependency injection to build large, single-page applications with strong tooling and structure.
A defined interface that lets software components or systems communicate and share data or functionality. Web APIs expose endpoints for clients to send requests and receive structured responses, enabling integration.
The process of verifying a user identity. Websites authenticate users through credentials (e.g., username and password or multifactor tokens) and issue sessions or tokens once identities are confirmed.
The process of determining what an authenticated user is allowed to do. Authorization rules grant or deny access to resources or actions based on roles or policies, ensuring users only perform permitted operations.
The part of a web application that runs on a server and handles business logic, database operations and processing. The back-end receives requests from the client, performs operations like querying a database and returns responses.
The maximum amount of data that can be transferred between a web server and visitors browsers in a specific time period. Higher bandwidth allows more data to move between server and user, enabling faster delivery of pages and media.
An open-source CSS framework offering a responsive grid system, pre-built components (buttons, forms, navbars) and utility classes. Bootstrap helps developers quickly assemble consistent, mobile-friendly layouts.
A software application for retrieving, rendering and displaying web content. When a page is requested, the browser fetches files from a server, interprets HTML, CSS and JavaScript and displays the page; it can also open files stored locally.
A fault or error in software that causes unexpected or undesired behavior. Bugs arise from mistakes during design, coding or testing and can lead to crashes, incorrect results or vulnerabilities.
A temporary storage layer that saves frequently accessed data or computed results so subsequent requests can be served faster. Caching occurs in browsers, servers or CDNs and improves performance by reducing repeated computations or network requests.
A geographically distributed network of servers that caches and serves static assets (images, scripts, stylesheets) close to users. CDNs lower latency and offload traffic from origin servers, improving load times and scalability.
A development practice where code changes are merged frequently (CI) and automatically built, tested and packaged for deployment (CD). Each commit triggers pipelines that run tests and produce deployable artifacts.
A rendering method where the browser downloads a minimal HTML shell and uses JavaScript to build the user interface. CSR enables dynamic, app-like experiences but can slow initial page loads and complicate SEO.
The delivery of computing resources-servers, storage, networking and software-over the internet on a pay-as-you-go basis. Cloud providers such as AWS, Azure and Google Cloud offer scalable infrastructure and managed services.
The set of instructions written in programming languages that tells a computer what to do. Code directs the CPU to perform tasks and forms the blueprint for software, requiring clarity and efficiency for maintainable applications.
The ability of a system to handle multiple tasks or requests at the same time. Concurrency is essential for servers that serve many clients simultaneously and can be implemented via multithreading, asynchronous programming or event loops.
A small piece of data stored on a user browser by a website to maintain state between HTTP requests. Cookies keep users logged in, remember preferences and track sessions; they can be session-based or persistent and must be managed securely.
A set of performance metrics defined by Google to quantify user experience. The primary metrics-Largest Contentful Paint (loading speed), First Input Delay (interactivity) and Cumulative Layout Shift (visual stability)-help developers optimize sites for speed and responsiveness.
A strategy and information system used to manage, analyze and improve interactions with customers. CRM systems collect data across communication channels and coordinate sales, marketing and service activities to enhance customer relationships.
A style sheet language that defines the presentation of HTML documents. CSS specifies colors, fonts, spacing, positioning and layout and separates design from content, enabling consistent styling and responsive design.
An organized collection of data managed by software. Web applications use relational databases (SQL) or non-relational databases (NoSQL) to store user data, content and configuration; proper design and indexing are crucial for performance.
The systematic process of identifying and fixing defects or unexpected behaviors in code. Developers use debugging tools and techniques-like breakpoints, logs and profilers-to trace execution and resolve issues.
The process of making a software application available for use. Deployment involves packaging the software, installing it on target environments and configuring it for production so users can access it.
A culture and set of practices that align development and operations to shorten release cycles and improve quality. DevOps emphasizes automation of testing and deployment, continuous feedback and collaborative workflows across teams.
A platform that packages applications and their dependencies into containers. Docker containers provide consistent environments across development, testing and production, improving portability and scaling.
Written text, diagrams or code comments that explain how software works or how to use it. Documentation supports developers, maintainers and end users by describing operation and usage.
A human-readable address that maps to a numerical IP address through the Domain Name System (DNS). Domains (e.g., example.com) enable users to access websites by typing names instead of IP numbers.
The process of encoding data so that only authorized parties can read it. Encryption protects sensitive information during transit (via HTTPS/TLS) and at rest (e.g., encrypted databases), safeguarding communications and stored data from interception or theft.
A design pattern where components emit and respond to events rather than calling each other directly. Producers publish events when actions occur, and consumers subscribe to relevant events, enabling decoupled, scalable and asynchronous systems.
A security system (hardware or software) that monitors and filters incoming and outgoing network traffic. Firewalls enforce rules to block malicious requests and allow legitimate communication, protecting servers and applications from attacks.
A reusable set of libraries and conventions that provide structure and common functionality for building applications. Front-end frameworks (e.g., React, Angular) assist with UI and state management; back-end frameworks (e.g., Rails, Django) handle routing, templating and database access.
The portion of a web application that runs in the browser and handles presentation and user interaction. The front-end consists of HTML, CSS and JavaScript code delivered to the client and communicates with the back-end.
The combined scope of both front-end and back-end development. A full-stack developer works with the entire technology stack-from database and server to client-side code-and understands how all components integrate.
A distributed version control system that tracks changes to code and facilitates collaboration. Git allows developers to create branches, commit snapshots and merge changes, enabling parallel development and easy rollback.
A web-based platform for hosting Git repositories, providing collaboration tools like issues, pull requests and wikis. GitHub supports open-source and private projects and integrates with continuous integration and deployment services.
A query language and runtime for APIs that allows clients to request exactly the data they need. GraphQL uses a strongly typed schema and a single endpoint, reducing over- and under-fetching and enabling efficient data retrieval.
A visual interface that lets users interact with software through graphical elements like windows, icons, buttons and menus instead of text commands. Web browsers render GUI components defined by HTML, CSS and JavaScript.
A design goal ensuring that systems remain operational with minimal downtime. HA is achieved through redundancy, failover mechanisms and eliminating single points of failure, maintaining continuous service even under failures.
A service that provides servers and resources to make websites and applications available on the internet. Hosting options include shared hosting, VPS, dedicated servers, cloud platforms and serverless deployments; providers manage hardware and often software.
The standard markup language used to structure and present web content. HTML uses tags (like h1, p, img, a) to mark up headings, paragraphs, images and links and forms the skeleton of web pages.
The protocol defining how browsers and servers communicate. Clients send HTTP requests (GET, POST, etc.) and servers respond with resources (HTML, JSON, images); versions include HTTP/1.1, HTTP/2 and HTTP/3.
The secure version of HTTP that encrypts data in transit using TLS/SSL. HTTPS protects sensitive information from eavesdropping or tampering and is standard for modern websites.
A hybrid rendering strategy that combines static site generation with on-demand updates. Pages are pre-rendered at build time, served from a cache and periodically revalidated during runtime to keep content fresh.
The practice of organizing and structuring website content to help users find information quickly. Good IA involves logical hierarchies, clear navigation labels and consistent structures, enhancing usability and SEO.
A unique numerical label assigned to each device on a network that uses the Internet Protocol. IP addresses (IPv4 or IPv6) identify servers and clients for routing; DNS maps domain names to IP addresses.
A company that provides internet connectivity to individuals and organizations. ISPs offer access via broadband, fiber, DSL or wireless services and may supply email, hosting or other services.
A general-purpose, object-oriented programming language used for enterprise, mobile and server-side applications. Java runs on the Java Virtual Machine (JVM), promoting portability ("write once, run anywhere") and powering frameworks like Spring.
A high-level scripting language that adds interactivity and dynamic behavior to web pages. JavaScript runs in browsers, manipulates the DOM, handles events and performs asynchronous requests, enabling modern single-page applications.
An Agile workflow management method that visualizes work on a board with columns (e.g., To Do, In Progress, Done). Teams limit work in progress, pull tasks through the workflow and continuously improve efficiency.
An open-source platform for orchestrating and managing containerized applications. Kubernetes automates deployment, scaling, service discovery and self-healing across clusters of containers, enabling reliable distributed systems.
A traditional web stack consisting of Linux (operating system), Apache (web server), MySQL (database) and PHP (server-side language). LAMP remains common for hosting dynamic websites and provides an open-source environment for development and deployment.
Collections of reusable code modules or functions that developers can include in projects to avoid re-implementing common functionality. Libraries provide specific features (UI components, utilities) without imposing overall architecture.
A device or software service that distributes incoming network traffic across multiple servers. Load balancers improve reliability and scalability by preventing any single server from becoming a bottleneck or point of failure.
The practice of recording events, errors and informational messages during program execution. Logs provide context for debugging, auditing and monitoring and are often aggregated for analysis.
The ongoing activity of updating and improving a website or application after launch. Maintenance involves applying security patches, updating dependencies, fixing bugs, optimizing performance and refreshing content to keep the site secure and functional.
An architectural style where an application is composed of small, independent services that each handle a specific business function. Microservices can be developed, deployed and scaled independently and communicate via APIs.
The process of removing unnecessary characters (like whitespace and comments) from code (usually CSS or JavaScript) without changing its functionality. Minified files are smaller and load faster; build tools often handle minification automatically.
A design and development philosophy that begins with the constraints of mobile devices and progressively enhances the experience for larger screens. Mobile-first design promotes simplicity, performance and responsive layouts.
A NoSQL document-oriented database that stores data in flexible, JSON-like documents (BSON). MongoDB allows schema-less collections and scales horizontally, making it suitable for applications with evolving data models.
The continuous observation of a system health and performance through metrics, logs and alerts. Monitoring helps operators detect issues, analyze usage patterns and maintain uptime.
A software design pattern that separates an application into Model (data and logic), View (presentation) and Controller (input handling). MVC promotes modularity and maintainability by dividing responsibilities.
An open-source relational database management system that stores data in tables and uses SQL for queries. MySQL supports transactions and indexing and is widely used, especially in the LAMP stack.
A JavaScript runtime built on Chrome V8 engine, enabling server-side execution of JavaScript. Node.js is event-driven and non-blocking, making it suitable for scalable network applications and APIs.
A category of databases that do not rely on fixed table schemas and SQL. NoSQL systems include document stores (MongoDB), key-value stores (Redis), wide-column stores (Cassandra) and graph databases (Neo4j), offering flexibility and scalability for unstructured data.
The default package manager for Node.js and the world largest software registry. Npm lets developers install, manage and publish packages and provides a command-line interface for running scripts.
An open standard for delegated authorization that allows users to grant applications access to resources on another service without sharing credentials. OAuth works by exchanging authorization codes for access tokens, enabling "Sign in with" flows.
The ability to understand a system internal state based on the data it emits. Observability combines metrics, logs and traces to help diagnose issues and gain insights in complex, distributed systems.
Software whose source code is publicly available under licenses that permit use, modification and redistribution. Open source encourages collaboration and transparency and forms the foundation of many web technologies.
System software that manages hardware resources and provides services for programs. Servers run operating systems like Linux or Windows, which affect environment configuration, security and process management.
A technique and library type that maps relational database tables to objects, allowing developers to interact with data using object-oriented code instead of SQL. ORMs simplify CRUD operations and enforce data models.
A pre-defined layout that defines the structure of a web page with placeholders for dynamic content. Templates ensure consistent design across pages and separate presentation from data.
A general-purpose scripting language particularly suited for server-side web development. PHP code runs on the server to generate HTML dynamically and powers many content management systems and frameworks.
A software component that adds specific functionality to an existing application. Plugins extend content management systems or development tools without altering core code, enabling modular enhancements.
A web application that uses modern web capabilities (Service Workers, Web App Manifest) to deliver an app-like experience. PWAs work offline, load quickly, can send push notifications and can be installed on a user device.
A request for data from a database or service. SQL queries use declarative statements (e.g., SELECT, WHERE) to fetch or modify records; in GraphQL, queries define exactly which fields and objects to retrieve.
A data structure or service that holds messages or tasks in first-in, first-out order. Message queues (like RabbitMQ or AWS SQS) enable asynchronous processing and decouple producers from consumers, improving scalability and resilience.
A JavaScript library for building user interfaces with reusable components. React uses a virtual DOM to efficiently update the UI when data changes and supports state management via hooks; it underpins many single-page applications.
A predictable state management library often used with React. Redux centralizes application state in a store and updates it through pure functions (reducers) in response to dispatched actions, simplifying state handling.
A database that stores data in tables with defined schemas and relationships. Relational databases use SQL for queries and ensure data integrity with ACID transactions; common examples include MySQL, PostgreSQL and Oracle.
An architectural style for designing APIs that use HTTP methods (GET, POST, PUT, DELETE) on resource URLs. RESTful services are stateless, leverage standard status codes and often return JSON or XML.
A design approach where layouts and elements adjust smoothly to various screen sizes using fluid grids, flexible images and media queries. Responsive design ensures optimal user experiences across mobile, tablet and desktop devices.
Techniques (such as srcset and sizes) that deliver appropriately sized images based on device resolution and viewport. Responsive images improve performance by sending only the necessary image size to the client.
A full-stack web application framework written in Ruby that follows the MVC pattern. Rails favors convention over configuration and provides built-in features for routing, database migrations and testing, enabling rapid development.
A software delivery model where applications are hosted by a provider and accessed over the web. Customers subscribe to SaaS services (e.g., email, CRM) rather than installing software locally; providers handle maintenance, updates and infrastructure.
The capacity of a system to handle increased load by adding resources (vertical scaling) or nodes (horizontal scaling). Scalable architectures maintain performance under growth using techniques like load balancing, caching and partitioning.
An Agile framework that organizes work into fixed-length iterations (sprints). Scrum defines roles (Product Owner, Scrum Master, Development Team) and ceremonies (Daily Stand-up, Sprint Planning, Review, Retrospective) to foster collaboration and continuous improvement.
The practice of improving a website visibility in search engine results. SEO includes optimizing content and metadata, ensuring mobile friendliness, improving performance and building quality backlinks to attract organic traffic.
Hardware or software that provides services to clients over a network. In web development, servers host application code, process requests, interact with databases and return HTML, JSON or files to clients.
A cloud model where developers deploy functions that run in response to events without provisioning servers. Providers automatically allocate and scale resources, charging only for execution time.
A rendering method where the server generates a full HTML page for each request and sends it to the client. SSR improves initial load speed and SEO, especially for dynamic or content-rich sites.
A standard language for creating, modifying and querying relational databases. SQL commands (SELECT, INSERT, UPDATE, DELETE) enable developers to define schemas and manipulate data.
Cryptographic protocols that encrypt data in transit and authenticate server identity. TLS (the modern successor to SSL) secures HTTPS connections, ensuring data confidentiality and integrity.
A technique where pages are pre-rendered into static HTML files at build time. SSG delivers fast, secure pages with minimal server load; content updates require rebuilding the affected pages but benefit from CDN caching.
An XML-based image format for 2D vector graphics. SVG files scale without losing quality, making them ideal for icons and illustrations; they can be styled with CSS and manipulated via JavaScript.
A suite of communication protocols (Transmission Control Protocol and Internet Protocol) forming the foundation of the internet. IP routes packets between devices, while TCP provides reliable, ordered delivery of data streams; higher-level protocols like HTTP run atop TCP/IP.
The systematic evaluation of software to ensure it meets requirements and is free of defects. QA includes automated unit, integration and end-to-end tests and manual exploratory testing to identify functional, performance and security issues.
A superset of JavaScript that adds static typing and other advanced features. TypeScript code compiles to JavaScript, providing type checking, interfaces and enums to catch errors early and improve maintainability of large projects.
A standard syntax that specifies the address of a resource on the internet. A URL includes the scheme (https), domain (example.com), path, optional query parameters and fragment, telling the browser where and how to retrieve resources.
The collection of visual and interactive elements through which users interact with an application. Buttons, menus, forms and icons comprise the UI; its design should be intuitive and provide clear feedback.
The overall perception and satisfaction a person has when using a product. UX encompasses usability, accessibility, performance and aesthetics; good UX ensures tasks can be completed smoothly and enjoyably.
A system that records changes to files (usually source code) over time so specific versions can be recalled later. Git is the most widely used version control system, supporting branching, merging and collaboration.
An in-memory representation of the Document Object Model used by frameworks like React and Vue. When state changes, the virtual DOM updates and is diffed against the previous version so only necessary changes are applied to the real DOM, improving efficiency.
A software emulation of a physical computer. VMs run their own operating systems and applications in isolation, allowing multiple environments on one host; they provide strong isolation at the cost of some overhead.
A progressive JavaScript framework for building user interfaces. Vue features a declarative template syntax, reactive data binding and a virtual DOM, allowing developers to progressively enhance existing sites or build full single-page applications.
A traditional software development methodology where phases (requirements, design, implementation, testing, deployment) occur sequentially. Waterfall is rigid and best suited to projects with stable requirements.
A website that offers interactive functionality like a software application. Web apps often use client-side frameworks and communicate with back-end APIs to perform tasks such as email, banking or document editing through a browser.
An internet bot that systematically browses the World Wide Web to collect and index pages for search engines. Crawlers (also called spiders) follow links and copy content so search engines can return relevant results.
Software (or a device) that receives and responds to HTTP requests from clients. Web servers like Apache, Nginx and IIS serve static files and interface with applications to generate dynamic responses, forming the core of web hosting.
A module bundler and build tool for modern JavaScript applications. Webpack processes and bundles source files, applying transformations (like transpilation and minification) to produce optimized assets for production.
A collection of interlinked web pages under a domain name that are accessible via the internet. Websites may be static or dynamic and deliver information, services or interactive applications to users.
A low-fidelity visual outline of a web page layout used during planning and design. Wireframes show the placement of headers, content sections and navigation without styling details, helping teams agree on structure before implementation.
A popular open-source content management system written in PHP that uses MySQL for data storage. WordPress enables users to create websites and blogs via themes and plugins and is known for its ease of use and large ecosystem.
What You See Is What You Get editor; a tool that lets users write and format content as it will appear when published, without interacting with raw HTML. WYSIWYG editors provide visual controls for styling and layout.
A markup language used to encode documents in a structured, self-describing format. XML is employed for configuration files, data interchange and standards like RSS and SVG, though JSON has largely superseded it for web APIs.
A human-readable data serialization format often used for configuration files. YAML uses indentation to denote structure and allows comments, making it concise and readable compared with JSON.
A CSS property that controls the stacking order of positioned elements along the z-axis. Elements with higher z-index values appear above those with lower values; it only applies to elements with a positioning context such as position: relative, absolute, fixed or sticky.
A Unix shell and command-line interpreter that retains Bourne shell syntax while adding numerous features like programmable completion, globbing improvements and customized prompts. Zsh is used as the default shell on macOS and offers extensive configuration options for interactive and scripting use.
An open-source, object-oriented web application framework for PHP. Now known as Laminas, it consists of modular packages and implements the MVC pattern with routing and dispatch mechanisms, providing reusable components for building professional PHP applications.
A software flaw or security hole that is unknown to developers or defenders. Attackers can exploit a zero-day vulnerability before a fix is available, making it especially dangerous until the vendor learns of the issue and releases a patch.
A deployment strategy that updates or releases a new version of an application without interrupting service. In a zero downtime deployment, the server does not expose changes until the new version is fully ready, so users experience no disruption during the transition.
A security framework that mandates that no user, device or application is inherently trusted. Zero trust requires strict identity verification and authorization for every access request, regardless of location, enforcing least-privilege access and continuous validation to mitigate threats.
A unit of digital information storage equal to 1,000 exabytes or 10^21 bytes. One zettabyte equals about one billion terabytes; this enormous unit is used to quantify vast amounts of data, and the total data in the world is measured in just a few zettabytes.
An in-development, statically typed, compiled programming language designed as a simpler, more robust alternative to C. Zig emphasizes manual memory management, compile-time code execution and features like generics, aiming to provide safe low-level programming with minimal runtime.
A software library for lossless data compression that implements the DEFLATE algorithm. Widely used across operating systems and applications, zlib compresses and decompresses data streams, enabling efficient storage and transmission.
A distributed, open-source coordination service for managing configuration and synchronization across distributed systems. ZooKeeper provides primitives for locks, leader election and naming services, enabling nodes in a cluster to coordinate actions reliably.
A responsive front-end framework created by ZURB that helps developers build responsive websites, apps and emails. Foundation is open source, includes an XY grid system and command-line tools and provides components and utilities for rapid prototyping.
Expand your technical vocabulary with our other comprehensive guides
Definitions for software development concepts from variables to algorithms.
Essential terms covering threats, defenses, compliance, and security.
Learn the language of search engines to improve your rankings.
Essential Artificial Intelligence definitions from ML to LLMs.