What Parts Make Up A Website
The most common confusion when building a site for the first time is not about writing pages. It is about which layer is responsible for what.
Common Site Building Components
A complete website usually involves at least these parts:
- Domain: The URL the user types
- DNS: Tells the request where to go
- CDN / Proxy layer: Caching, acceleration, protection, and origin forwarding
- Origin: Where content is actually served from
- Object storage or static hosting: Stores static assets
- Application service: Handles dynamic logic, APIs, login, and databases
- Certificate: Ensures HTTPS
- Monitoring and logs: Help you know whether the site is healthy
Typical Structure of a Content Site
User's browser
↓
Domain
↓
DNS
↓
CDN / Proxy layer
↓
Static hosting platform / Object storage / Nginx
↓
HTML, CSS, JS, images
This type of site usually does not require maintaining a complex backend yourself.
Typical Structure of a Site With a Backend
User's browser
↓
DNS
↓
CDN / WAF / Reverse proxy
↓
Web server
↓
Application service
↓
Database / Cache / Object storage
At this point, the complexity of the site increases significantly.
What Question Does Each Layer Answer
Domain
What name does the user remember to reach you.
DNS
Where should that name ultimately point.
CDN / Proxy layer
Can this request be handled at the edge, or must it go back to the origin.
Origin
Where does the actual content come from.
Application service
Does the user's request need to run logic, authenticate, query a database, or generate results.
Certificate
Is the connection trusted and encrypted.
Why This Perspective Matters
Almost every problem you encounter later maps back to a specific layer:
- Domain config changed but not taking effect: probably DNS
- Page loads but assets are broken: probably origin paths or build output
- Page is slow: could be CDN, cache, images, scripts, or origin
- HTTPS errors: probably certificate or proxy layer configuration
Two Site Patterns Worth Remembering
Pattern 1: Static Content Site
Suitable for knowledge bases, blogs, and portfolios. Few components, low maintenance cost. This is the recommended starting point for a first site.
Pattern 2: Content Site + Separate Dynamic Service
The main site stays as static as possible. Dynamic capabilities like login, APIs, and uploads are split into separate services.
This is usually cleaner than putting everything on a single server.
A Practical Principle
Staticize as much as you can. Push problems to the edge layer instead of forcing them back to the origin.
Doing so means:
- Simpler deployment
- More effective caching
- More stable speed
- Smaller attack surface
What To Read Next
- To see all site component relationships: What Parts Make Up A Website
- To start building a documentation site: Build A Documentation Site With Docusaurus From Zero
- To fill in performance and caching: Web Performance Basics: From First Screen To Cache Strategy