HTTP接受协商算法

标签 http

我正在为 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/

相关文章:

Angular POST 请求不起作用

javascript - 检查失败的 HTTP 请求

http - Domino HTTP 任务和长轮询

java - 如何仅在 HTTP 请求连接器中提供地址?

java - 无法在 WildFly 10 中上传超过 1MB 的文件?

apache - 是否可以用 Apache 或 Nginx 重写 SOAP POST 请求主体?

python - 如何响应 JSON-RPC 服务器上的 HTTP OPTIONS 请求

python - PIL : image from url, 无法识别镜像文件

php - 使用 PHP 和 RESTful API 获取和发送文件

http - Python,Detect 是一个 URL 需要是 HTTPS 还是 HTTP