What Happens When You Type a URL and Press Enter
DNS lookups, TCP and TLS handshakes, HTTP requests, servers, and the browser's rendering pipeline. The whole journey of a web page, explained so it finally clicks.
Read →Static site, serverless API, Docker container or full VM? Each needs a different kind of free hosting. A practical map of the options and how to choose without regretting it later.
"What's the best free hosting?" doesn't have one answer, because it's really four different questions. A portfolio site, a serverless API, a Dockerised backend and a Discord bot need completely different things. Once you know which kind of hosting your project needs, picking a free platform takes about five minutes.
| You have... | You need... |
|---|---|
| HTML/CSS/JS, or a framework that builds to static files | Static hosting |
| A frontend plus small API endpoints | Static + serverless functions |
| An Express/Django/Laravel/Go server, WebSockets, or workers | Container / web service hosting |
| Full control, multiple services, cron, self-hosted tools | A virtual machine (VPS) |
Choose the lightest category that fits. Lighter hosting is cheaper, faster and needs less maintenance.
Static hosting is so cheap to provide that it's free almost everywhere, often with custom domains and HTTPS included.
For a portfolio or blog, any of these is great. Don't overthink it.
Most modern hosts let you drop small backend functions next to your frontend. Each request spins up your function, runs it and shuts it down.
Good for: form handlers, auth callbacks, CRUD APIs, webhooks, proxying third-party APIs while keeping keys secret.
Not great for: long-running jobs, WebSockets, heavy CPU work, or anything that needs a persistent in-memory state.
When you need a regular, always-running server process, look at platforms that run your app from a Dockerfile or a buildpack.
Free container tiers come and go more than any other category. The safe move is to make your app portable: a working Dockerfile, config from environment variables, and no dependence on one provider's special features. If you're new to that, Docker for beginners covers the essentials.
If you want a real Linux server to tinker with:
A VM teaches you a lot (SSH, firewalls, Nginx, systemd, TLS certificates) but you're responsible for updates and security. Great for learning; think twice before running anything important on it unattended.
Ask these questions in order:
For a complete walkthrough of combining these into one app, see how to deploy a full stack app for free.
Any static host: GitHub Pages, Cloudflare Pages, Netlify or Vercel. All support custom domains and HTTPS. Choose the one that fits your framework and workflow.
For low-traffic projects with no strict uptime requirements, often yes. For anything that makes money or that users depend on, a paid plan gives you support, guarantees and fewer surprises, and the entry price is usually small.
Static hosting and serverless functions don't "sleep" in a way users notice. For an always-on server process, a free cloud VM is the main option; most free container platforms pause idle apps.
DNS lookups, TCP and TLS handshakes, HTTP requests, servers, and the browser's rendering pipeline. The whole journey of a web page, explained so it finally clicks.
Read →There are dozens of HTTP status codes, but about fifteen cover nearly everything. What each one means, when to return it, and the mix-ups (401 vs 403, 301 vs 302) that confuse everyone.
Read →A, AAAA, CNAME, MX, TXT and NS records in plain English, why DNS changes seem slow, and the troubleshooting commands that tell you what is really going on.
Read →