The Low-Level Mechanics of Connection Timeouts vs Read Timeouts (SO_TIMEOUT)
java
dev.to
Something I've seen take down production backends a few times is a simple misunderstanding of how network timeouts actually work under the hood. A lot of developers set readTimeout = 5000 on their HTTP client and assume: "Great, if the remote service takes longer than 5 seconds, it will fail fast." Except SO_TIMEOUT (Read Timeout) doesn't limit the total request duration at all. In POSIX-compliant socket abstractions, it only measures the delay between incoming TCP packets. If a degraded down