The HTTP protocol has been around for quite some time now. Its development was initiated by Tim Berners-Lee at CERN way back in 1989. Throughout the years, Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C) defined series of standards for it, known as Requests for Comments (RFCs). The first definition of HTTP/1.1 occurred in RFC 2068 in 1997, and was later deprecated by RFC 2616 in 1999. Over a decade later, HTTP/2 was standardized in 2015. Although HTTP/2 is now supported by major web servers, HTTP/1.1 is still widely used.
The underlying HTTP communication comes down to requests and responses, commonly referred to as HTTP messages. Abstracted away from average consumers, these messages form the foundation of web development, and are therefore of interest to every web application developer. While RFC 7230, RFC 7231, and RFC 3986 spec out the details of HTTP itself, PSR-7 describes common interfaces for representing the HTTP messages...