Application Layer · wrap-up
Cheat sheet & self-check
11 questions across 4 lessons. Each answer links back to the lesson it came from.
Pick an answer to see if you got it, and why.
Q1. Clients get 'unable to get local issuer certificate' from your server, but browsers work. Likely cause?
Show answer
B. Servers must send the full chain (leaf + intermediates). Check with openssl s_client -showcerts.
From lesson 09 · TLS: handshake & trustQ2. What is SNI used for?
Show answer
B. Without SNI, a shared ingress IP couldn't know which certificate to present.
From lesson 09 · TLS: handshake & trustQ3. What does ALPN negotiate?
Show answer
B. HTTP/2 and gRPC depend on ALPN. A proxy that doesn't offer h2 silently downgrades clients to HTTP/1.1.
From lesson 09 · TLS: handshake & trustQ4. What problem does HTTP/2 multiplexing solve?
Show answer
B. HTTP/1.1 handles one request at a time per connection; browsers opened several connections to compensate. HTTP/2 interleaves streams on one.
From lesson 10 · HTTP/1.1 → 2 → 3Q5. Why does HTTP/3 run over QUIC on UDP?
Show answer
B. HTTP/2 over TCP still suffers transport-level head-of-line blocking. QUIC fixes that and speeds up connection setup.
From lesson 10 · HTTP/1.1 → 2 → 3Q6. What's a practical consequence of HTTP/2's long-lived connections for load balancing?
Show answer
B. One busy client with one connection can load one pod heavily. Balance per request at L7, or cycle connections.
From lesson 10 · HTTP/1.1 → 2 → 3Q7. You scale a gRPC service from 2 to 10 pods, but the new pods get almost no traffic. Why?
Show answer
B. Fix with per-request (L7) balancing: a mesh or gRPC-aware proxy, or client-side balancing with a headless Service, and bounded connection lifetimes.
From lesson 11 · gRPC & ProtobufQ8. What does a gRPC deadline do?
Show answer
B. Deadlines prevent requests from waiting forever and stop wasted work in deep call chains. Always set them.
From lesson 11 · gRPC & ProtobufQ9. Which gRPC status code usually means 'the server is overloaded or unavailable, retry later'?
Show answer
B. UNAVAILABLE is the usual retryable status (with backoff). Argument and permission errors won't succeed on retry.
From lesson 11 · gRPC & ProtobufQ10. curl to the site hangs after 'Client hello', while small API calls to the same host work. Which layer do you suspect first?
Show answer
B. Handshakes with large certificate chains need full-size packets. Small requests fitting in small packets working is the classic MTU black-hole pattern.
From lesson 12 · Capstone: one request, every layerQ11. Why walk the layers from the bottom up during an incident?
Show answer
B. A TLS error can be caused by DNS pointing at the wrong IP. Start low, stop at the first broken layer.
From lesson 12 · Capstone: one request, every layer