HTTP中的内容协商(Content Negotiation)是指客户端和服务器
▥前端
𝄐 0
HTTP中的内容协商(Content Negotiation)是指客户端和服务器之间根据请求头部中的信息,协商选择合适的响应类型、语言或编码方式等内容。默认的Accept值列表是指当客户端没有明确指定Accept请求头时,服务器将采用的默认响应类型列表。
HTTP请求头中的Accept字段指示客户端能够接受的响应内容类型及优先级。例如:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
上述请求头表示,客户端首选返回text/html类型的文档,如果这种类型不可用,则尝试返回application/xhtml+xml类型的文档,再次失败则返回application/xml类型的文档,最后可以接受任意类型(*/*)的响应。还可以使用参数q来指定每个MIME类型的相对质量值,在上述例子中,q=0.9表示客户端更愿意接收application/xml类型的响应而不是通配符类型(*/*)的响应。
在某些情况下,客户端无法明确指定Accept请求头,例如在浏览器地址栏中输入URL时。这时,服务器会采用默认的Accept值列表,例如:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
上述默认Accept值列表表示,服务器首选返回text/html类型的文档,其次是application/xhtml+xml类型的文档,再次是application/xml类型的文档,然后是图片格式(image/webp)的响应,最后可以接受任意类型(*/*)的响应。
需要注意的是,不同服务器的默认Accept值列表可能存在差异,客户端和服务器之间的内容协商应该以实际的请求和响应头为准。
HTTP请求头中的Accept字段指示客户端能够接受的响应内容类型及优先级。例如:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
上述请求头表示,客户端首选返回text/html类型的文档,如果这种类型不可用,则尝试返回application/xhtml+xml类型的文档,再次失败则返回application/xml类型的文档,最后可以接受任意类型(*/*)的响应。还可以使用参数q来指定每个MIME类型的相对质量值,在上述例子中,q=0.9表示客户端更愿意接收application/xml类型的响应而不是通配符类型(*/*)的响应。
在某些情况下,客户端无法明确指定Accept请求头,例如在浏览器地址栏中输入URL时。这时,服务器会采用默认的Accept值列表,例如:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
上述默认Accept值列表表示,服务器首选返回text/html类型的文档,其次是application/xhtml+xml类型的文档,再次是application/xml类型的文档,然后是图片格式(image/webp)的响应,最后可以接受任意类型(*/*)的响应。
需要注意的是,不同服务器的默认Accept值列表可能存在差异,客户端和服务器之间的内容协商应该以实际的请求和响应头为准。
本文地址:
/show-278179.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。