Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当HTTP Accept标头具有相同的特定性、质量和级别时,应从中选择哪种媒体类型?_Http_Content Negotiation_Media Type_Http Accept Header - Fatal编程技术网

当HTTP Accept标头具有相同的特定性、质量和级别时,应从中选择哪种媒体类型?

当HTTP Accept标头具有相同的特定性、质量和级别时,应从中选择哪种媒体类型?,http,content-negotiation,media-type,http-accept-header,Http,Content Negotiation,Media Type,Http Accept Header,正如您所知,您可以将多种媒体类型添加到HTTP Accept标头。当提到“服务器应该返回什么类型?”时,大多数解释和规范似乎只解释了根据媒体类型的特定性、质量和级别选择“首选”媒体类型的算法 但是,当它们都相同时,应该怎么做呢?说我有 请求1)接受:application/vnd.company.v3+json,application/vnd.company.v4+json 请求2)接受:application/vnd.company.v4+json,application/vnd.compa

正如您所知,您可以将多种媒体类型添加到HTTP Accept标头。当提到“服务器应该返回什么类型?”时,大多数解释和规范似乎只解释了根据媒体类型的特定性、质量和级别选择“首选”媒体类型的算法

但是,当它们都相同时,应该怎么做呢?说我有

  • 请求1)
    接受:application/vnd.company.v3+json,application/vnd.company.v4+json
  • 请求2)
    接受:application/vnd.company.v4+json,application/vnd.company.v3+json
订单重要吗?我找到了说明,但在规范中找不到有关它的源或信息


或者这是一种未定义的行为,由服务器决定(例如,始终返回最新版本)或返回“300多项选择”(在野外很少见到)或其他内容。

博客文章是错误的;订购不相关。由服务器选择,或者如您所说,返回300。

谢谢。我就是这么想的。但是你知道这是明确写在任何地方吗?规范是RFC 7231,它没有说订购是相关的。好的。到目前为止,我只在
接受语言
中明确看到了这一点:“请注意,有些接收者将语言标记的列出顺序视为优先级递减的指示,特别是对于被分配了同等质量值(没有值与q=1相同)的标记。但是,这种行为不能依赖。”