我正在为 Accept
header 准备 HTTP 规范文档,并遇到了以下示例。
Accept: text/*, text/html, text/html;level=1, */*
# Precedence
1) text/html;level=1
2) text/html
3) text/*
4) */*
我想知道使用什么算法对每种内容类型的偏好进行排序?是否有任何标准文档?任何对某些实现或文档的引用都将不胜感激。
在相同的质量因子下,更具体的内容类型具有更高的优先级是否正确(application/json
> application/*
)?
为什么 text/html;level=1
text/html
有更高的偏好?
最佳答案
您正在查看过时的规范。参见 https://greenbytes.de/tech/webdav/rfc7231.html#header.accept对于当前的。
特别是:
“媒体范围可以被更具体的媒体范围或特定的媒体类型覆盖。如果多个媒体范围适用于给定类型,则最具体的引用具有优先权...”-- https://greenbytes.de/tech/webdav/rfc7231.html#rfc.section.5.3.2.p.10
关于HTTP接受协商算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38008363/