Content negotiation
Content compression with the Accept-Encoding
header and language selection with the Accept-Language
header are examples of content negotiation, where the client specifies its preferences regarding the format and the content of the requested resource. The following headers can also be used for this:
Accept
: For requesting a preferred file formatAccept-Charset
: For requesting the resource in a preferred character set
There are additional aspects to the content negotiation mechanism, but because it's inconsistently supported and it can become quite involved, we won't be covering it in this chapter. RFC 7231 contain all the details that you need. Take a look at sections such as 3.4, 5.3, 6.4.1, and 6.5.6, if you find that your application requires this.
Content types
HTTP can be used as a transport for any type of file or data. The server can use the Content-Type
header in a response to inform the client about the type of data that it has sent in the body. This is the primary...