Application Layer
DNS, HTTP, TLS, and the protocols that applications depend on every day.
Application-layer protocols define the conversations between distributed programs. This chapter covers DNS resolution, HTTP/1.1 and HTTP/2, the TLS handshake and certificate verification, and SMTP as a case study — giving enough detail to diagnose network problems and write correct networked applications.