EmmEEdu
A–Z Technical Encyclopedia

Software Engineering Glossary

Every term broken down two ways: a plain-English analogy a beginner can grasp, followed by the uncompromising technical wire and memory mechanics.

Architecture

API

Simple Definition:

A software messenger that lets two applications talk to each other and share data or services.

Technical Architecture:

Application Programming Interface: A formal set of rules, protocols, and data contracts defining how software components communicate over function calls or network protocols.

A client application sends a structured request (e.g. HTTP GET with JSON headers) to a predetermined URI endpoint. The server receives the request, executes controller logic, interacts with data layers, and returns a standardized response payload.

Related:RESTGraphQLgRPCEndpointJSON
Networking

CDN

Simple Definition:

A worldwide network of fast servers that store copies of website files near users so sites load in a flash.

Technical Architecture:

Content Delivery Network: A geographically distributed network of proxy servers and data centers providing high availability and performance by distributing content spatially relative to end users.

When a user requests an asset (image, JavaScript bundle), Anycast DNS routes the query to the geographically nearest Point of Presence (PoP) edge node. If cached, the file is delivered from local SSD cache; if not, it fetches from the origin server, caches it, and serves it.

Related:DNSCachingEdge ComputingAnycastLatency
Frontend

CSR

Simple Definition:

The browser downloads a mostly blank HTML page and a big JavaScript file, and then builds the user interface on your screen.

Technical Architecture:

Client-Side Rendering: A rendering architecture where the initial HTML payload contains a minimal root element, and the browser executes bundled JavaScript to dynamically generate and mount the DOM tree.

Browser fetches index.html containing `<div id='root'></div>` and `<script src='bundle.js'>`. The V8/JavaScript engine downloads, parses, and executes the script, which queries APIs, updates memory state, and constructs the DOM.

Related:SSRSSGRSCHydrationDOM
Networking

DNS

Simple Definition:

The phonebook of the Internet. It translates human-friendly website names like google.com into computer IP addresses like 142.250.190.46.

Technical Architecture:

Domain Name System: A hierarchical, distributed naming system for computers, services, or any resource connected to the Internet or a private network, operating primarily over UDP port 53.

The resolver queries the Root server (.), which points to the Top-Level Domain server (.com), which points to the Authoritative Name Server for the domain. The authoritative server returns the A/AAAA record with the destination IP address.

Related:IP AddressResolverTCPHTTPCDN
Frontend

DOM

Simple Definition:

The live tree structure representing everything on a web page that JavaScript can look at, change, or animate.

Technical Architecture:

Document Object Model: A cross-platform, language-independent programming interface that treats an HTML or XML document as a tree structure wherein each node is an object representing a part of the document.

The browser HTML parser reads raw text bytes, creates tokens, generates element nodes, and builds the hierarchical DOM tree in RAM. JavaScript uses DOM APIs (e.g. document.getElementById) to manipulate elements, triggering Layout and Repaint.

Related:CSSOMRender TreeHTMLVirtual DOM
Networking

HTTP / HTTPS

Simple Definition:

The language web browsers and servers use to talk to each other. HTTPS adds an unbreakable encryption shield.

Technical Architecture:

Hypertext Transfer Protocol (Secure): An application layer protocol for distributed, collaborative, hypermedia information systems. HTTPS layers HTTP over Transport Layer Security (TLS) for encryption and authentication.

Client initiates a TCP handshake on port 443, completes TLS 1.3 cryptographic key exchange, and sends an HTTP request line (GET / HTTP/2), headers, and optional payload. Server evaluates and sends status code (200 OK) with response headers and payload.

Related:TLSTCPRESTStatus CodeHeaders
Security

JWT

Simple Definition:

A secure digital badge formatted as a compact string that proves who you are without requiring the server to look up your session in a database.

Technical Architecture:

JSON Web Token: An open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a digitally signed JSON object.

Consists of three Base64URL-encoded parts separated by dots: Header (algorithm), Payload (claims like user_id, roles, exp), and Signature (computed using HMAC-SHA256 with a private secret or RSA private key). The server verifies the signature mathematically without database I/O.

Related:AuthenticationOAuthCookiesSessionsEncryption
Backend

ORM

Simple Definition:

A tool that lets you talk to databases using normal programming code and objects instead of writing raw SQL strings.

Technical Architecture:

Object-Relational Mapping: A programming technique for converting data between incompatible type systems using object-oriented programming languages, creating a virtual object database.

The ORM inspects a schema definition, creates typed models, intercepts method calls (e.g. `user.findMany()`), compiles them into parameterized SQL statements (`SELECT * FROM users`), executes them via connection pools, and hydrates rows into typed instances.

Related:SQLDatabasePostgreSQLPrismaActive Record
Frontend

RSC

Simple Definition:

Components that run only on the server, can directly query databases, and send zero JavaScript to the user's browser.

Technical Architecture:

React Server Components: An architectural paradigm in React where components execute exclusively on the server at request time or build time, outputting a serialized virtual DOM payload rather than client bundle code.

RSCs execute directly on the Node.js/Edge runtime with direct access to databases and file systems. They output a specialized streaming format (Flight protocol) that client React interprets to render UI without including the component's internal dependencies in the client bundle.

Related:Next.jsSSRCSRHydrationReact
Frontend

SSR

Simple Definition:

The server generates complete HTML for every page request and sends ready-to-read text directly to the browser before JavaScript starts.

Technical Architecture:

Server-Side Rendering: Generating the full HTML markup for a webpage on the server in response to every incoming client request, followed by client-side hydration to attach event listeners.

A request arrives at the server. The server runs React/Vue component trees into HTML string, embeds initial serialized state, and responds with fully formed HTML. Once loaded in the browser, client JavaScript executes hydration.

Related:CSRSSGRSCHydrationCore Web Vitals
Security

TLS

Simple Definition:

The cryptographic protocol that encrypts internet communications, ensuring nobody in the middle can eavesdrop or tamper with your data.

Technical Architecture:

Transport Layer Security: A cryptographic protocol designed to provide communications security over a computer network, operating directly above transport protocols like TCP.

In TLS 1.3, client and server perform a 1-RTT cryptographic handshake using Elliptic Curve Diffie-Hellman (ECDHE). The server presents an X.509 certificate verifying domain ownership. Once symmetric session keys are derived, all payload traffic is encrypted with AES-GCM.

Related:HTTPSTCPSSLHandshakeCertificates
Networking

WebSockets

Simple Definition:

A persistent two-way open phone line between the browser and server where either side can send messages instantly at any time.

Technical Architecture:

WebSocket: A computer communications protocol providing full-duplex communication channels over a single long-lived TCP connection, initiated via an HTTP Upgrade handshake (RFC 6455).

Client issues an HTTP GET with `Upgrade: websocket` and `Connection: Upgrade` headers. Server responds with `101 Switching Protocols`. The underlying TCP socket remains open, allowing lightweight framed binary or text messages with only 2–10 bytes of overhead.

Related:HTTPTCPSSEgRPCReal-Time