100+ Web Development Things you Should Know
Based on Fireship's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
DNS translates domain names into the IP addresses browsers need to reach the correct server.
Briefing
Web development is built on a stack of core ideas—how data moves across the Internet, how pages are structured and styled, how browsers run interactive logic, and how servers deliver content efficiently. The practical takeaway is that full-stack work isn’t one skill; it’s coordinated knowledge of networking, markup, styling, client-side scripting, server-side runtimes, rendering strategies, and deployment infrastructure—all of it tied together by HTTP requests and responses.
At the foundation is the Internet: a network of billions of machines communicating through standardized protocols. Computers get unique IP addresses via the Internet Protocol Suite, then data is split into packets, routed through physical infrastructure like fiber optics and modems, and reassembled by the receiving machine. On top of that sits the worldwide web—software that uses HTTP to let users access web pages. A browser acts as the client, requesting a URL and rendering the returned content, while a server responds with the webpage data packaged as HTTP messages. Domain names make this usable for humans, but DNS acts as the “phone book” that maps domains to the IP addresses where the content lives.
Once a page is located, HTML provides the structure. Elements are defined with opening and closing tags, nested into a hierarchy that browsers interpret as the DOM. The head holds metadata like titles, while the body contains what users actually see. Semantic tags help search engines and accessibility tools like screen readers. Links use the anchor (a) tag to navigate between URLs, and forms rely on input and select elements. For layout and meaning, div elements often act as section containers—even if they look plain until styling is applied.
That styling comes from CSS, which can be applied inline, in a style block, or via external stylesheets linked in the head. CSS works through selectors and classes, with specificity rules determining which styles win when multiple rules apply. The hardest part for many developers is layout: treating elements like boxes with padding, borders, and margins; understanding block vs inline behavior; and using positioning (relative, absolute, fixed). Responsive design adds another layer—media queries let styles adapt to device characteristics, while flexbox and grid provide tools for building rows, columns, and multi-dimensional layouts.
Interactivity is typically handled by JavaScript, standardized as ECMAScript. Browsers parse HTML top-to-bottom and execute JavaScript—often loaded from separate files and deferred until the DOM is ready. JavaScript listens for events like clicks, mouse movement, and form input changes, then updates the UI. Under the hood, JavaScript’s object model relies on prototypal inheritance, though most developers avoid that complexity by using frameworks.
Front-end frameworks such as React, Vue, and Angular shift UI development toward declarative component trees, bundling HTML/CSS/JavaScript into reusable components. On the back end, Node.js brings JavaScript to the server, running on the V8 engine with a single-threaded, non-blocking event loop to handle many simultaneous connections. Node’s ecosystem is powered by the Node Package Manager, where modules can be imported and exported across files.
How content is delivered depends on rendering strategy. Server-side rendering generates full HTML on each GET request and returns status codes like 200 or 404. Single-page applications send a shell and rely on client-side JavaScript to render additional pages, often fetching minimal JSON data—great for user experience, but harder for bots. Static site generation prebuilds pages so search engines and social previews can read content immediately, with hydration enabling full interactivity.
To build and ship all of this, developers commonly use full-stack frameworks like Next.js, Ruby on Rails, or Laravel that abstract away bundling (often via webpack), linting (like ESLint), and other repetitive setup. A database stores user and application data, and authentication provides login flows. Local testing uses web servers such as Nginx or Apache (or framework tooling), while deployment often goes to cloud providers like AWS. Scaling frequently involves Docker containers, and for teams seeking alternatives to big tech lock-in, Web3 and “decentralized” hosting are mentioned as an option. The result: a full-stack developer can connect every layer—from DNS to deployment—into a working product.
Cornell Notes
Full-stack web development is a chain of responsibilities: networking (Internet + DNS + HTTP), page structure (HTML/DOM), presentation (CSS including responsive layout), interactivity (JavaScript + events), and delivery (server-side vs client-side rendering). HTML organizes content into a DOM with semantic elements that support search engines and accessibility. CSS controls appearance and layout through selectors, specificity, positioning, and responsive tools like media queries, flexbox, and grid. JavaScript powers event-driven UI updates and is often managed through frameworks such as React, Vue, or Angular. On the server, Node.js runs JavaScript with V8 and supports module-based code, while rendering choices (SSR, SPA, or static site generation) affect performance and how bots interpret content.
How do the Internet, DNS, and HTTP fit together when a user opens a URL?
What role does HTML play beyond “making a page,” and how does the DOM relate to it?
Why is CSS often the hardest part, and what tools address layout and responsiveness?
How does JavaScript typically make a web page interactive?
What distinguishes SSR, SPA, and static site generation in terms of rendering and bot friendliness?
What does a typical full-stack deployment pipeline include?
Review Questions
- Which parts of the stack are responsible for mapping domain names to servers, and for packaging page content into responses?
- Compare SSR, SPA, and static site generation: how does each approach affect what bots can read and how the UI becomes interactive?
- What are the main CSS mechanisms mentioned for layout and responsiveness, and how do flexbox and grid differ in purpose?
Key Points
- 1
DNS translates domain names into the IP addresses browsers need to reach the correct server.
- 2
HTTP GET requests retrieve data, while servers respond with status codes like 200 and 404 to indicate success or missing pages.
- 3
HTML structures content into a DOM, with head metadata and body visible content; semantic elements support search and accessibility.
- 4
CSS determines appearance and layout through selectors, specificity, positioning, and responsive techniques like media queries, flexbox, and grid.
- 5
JavaScript enables interactivity by handling browser-emitted events; frameworks like React, Vue, and Angular make UI development declarative.
- 6
Node.js runs JavaScript on the server using the V8 engine and a non-blocking event loop, supported by npm modules.
- 7
Rendering strategy (SSR vs SPA vs static site generation) strongly influences performance and how well search engines and social previews can interpret content.