Recently I've added a container "class message_headers" to model the HTTP message excluding the body. This provides more flexibility for callers to handle the body themselves, or for more complex scenarios such as initiating or responding to Expect: 100-continue. Now that we have message_headers to refer to a HTTP message without the body, the term "headers" has become ambiguous. Specifically class basic_headers, and the Headers template argument name can be confused with message_headers. I am strongly considering the following changes: * Define "fields" to mean to a collection of HTTP field name / value pairs * Define "headers" to mean a container holding "fields" plus the request or response line specific items (method, uri, status code, and reason phrase) * Rename class template basic_headers to basic_fields * Rename class template alias headers to fields * Rename Headers in template parameter lists to Fields * Change documentation to be consistent with these terms This is a fairly big API change and I'm interested in hearing from any/all stakeholders with feedback. Very happy to hear from anyone here, or if you want please comment on the corresponding GitHub issue: https://github.com/vinniefalco/Beast/issues/171 Thanks