TLS / HTTPS: the parts that break in production
Cert chains, renewals, mTLS, HSTS, and handshake debugging, explained from the operator’s side.
Tiny explainers grouped by topic. Spend less time Googling, more time building.
Cert chains, renewals, mTLS, HSTS, and handshake debugging, explained from the operator’s side.
What actually breaks in CORS, which headers matter, and the server configs that fix browser errors without accidentally opening your API.
CSRF never really left. Here’s how SameSite cookies, synchronizer tokens, custom headers, and Fetch Metadata fit together in modern apps.
Three ways to carry auth state, three different tradeoffs. Here’s where session cookies, JWTs, and PASETO fit without stateless-auth cargo culting.
A battle‑tested checklist and patterns: allowlists, size limits, magic‑byte checks, streaming to object storage, virus scanning, image/PDF sanitization, signed URLs, and safe download headers.
Practical, modern defaults for CSP, HSTS, Referrer-Policy, Permissions-Policy, COOP/COEP/CORP, X-Content-Type-Options, X-Frame-Options vs frame-ancestors, cookies, and cache controls—with NGINX/Apache/Express snippets.
Freshness, validators, and directives: Cache-Control, ETag/Last-Modified, Vary, s-maxage, stale-while-revalidate, immutable. Patterns for APIs, HTML, and assets—plus CDN tips.
The event loop is where fast UIs quietly get won or lost: tasks, microtasks, rendering, and the patterns that keep 60fps intact.
Low‑effort, high‑impact a11y fixes: alt text, semantic HTML & landmarks, color contrast (and non‑color cues), keyboard navigation & focus, and form labels/errors—with copy‑paste examples.
DNS changes feel slow because of caching everywhere: resolvers, browsers, OSes, CDNs, and parent zones. Here’s the mental model, typical timelines, and how to plan zero‑drama cutovers.
From DNS lookup to TLS to paint: the shortest useful tour of what the browser actually does after you hit Enter.
Event‑driven Nginx vs process/thread‑based Apache: performance, memory, config models, .htaccess, reverse proxying, PHP, HTTP/2/3, and how to switch without breaking prod.
ASCII is the tiny legacy subset; UTF-8 is what your systems actually need. Here’s how bytes, characters, mojibake, and utf8mb4 fit together.
Demystify the TLS handshake—ClientHello, ServerHello, certificates, ECDHE key exchange, session keys—and why HTTPS protects confidentiality, integrity, and authenticity.
A fast primer on Cross-Origin Resource Sharing—what “origin” means, how simple vs. preflighted requests work, when to send credentials, and the exact headers that fix the dreaded CORS error.
Stateless tokens are convenient, but server sessions are still the default for many apps.
QUIC (HTTP/3) reduces head-of-line blocking; most CDNs support it — flip it on.