Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Where Does a Slow Request Come From: Diagnosing the Network with curl -w, DevTools Timing and Wireshark
A slow request's time splits into DNS, TCP, TLS, server (TTFB) and download phases, and every phase has a recognizable signature. Five cases with curl -w under a 50 ms RTT via netem (no keep-alive, an IPv6 attempt, TLS 1.2, a slow server, a large response), .NET's System.Net metrics, dotnet-counters and a TLS key log file for Wireshark.
What Happens When You Press Enter on a URL: End to End from DNS to Render
When you press Enter, the browser parses the URL, finds the IP with DNS, connects with TCP and TLS 1.3, sends the HTTP request and renders the response; a new connection spends at least three to four RTTs before the first byte. We read every phase line by line against our own Kestrel server with curl -v and curl -w.
The Security Lab: A Bookstore API with ASP.NET Core 10 and Reading HTTP with curl
We set up the lab for the rest of the series: an ASP.NET Core 10 minimal API on SQLite. With curl -i we read methods, status codes, headers and cookies through a security lens, see how the same error reaches the client differently in Development and Production, and cover the HTTPS development certificate and the lab rules.