簡體   English   中英

.Net HttpClient如何管理多種媒體類型

[英]How does .Net HttpClient manage to have multiple Media Types

我正在實現HttpWebRequest,並注意到Accept屬性的類型為string

 webRequest.Accept = "application/json";

HttpClient的實現將其接受HttpHeaderValueCollection<MediaTypeWithQualityHeaderValue>類型

clientRequest.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
clientRequest.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));

這意味着您可以根據需要向其中Add任意數量的媒體類型。

但是根據這個問題 ,該標准僅允許您接受1種內容或媒體類型。

那么,HttpClient如何支持多種媒體類型?

您鏈接到的問題是關於response中Content-Type標頭。

您正在查看request中的Accept標頭。

服務器決定要響應的特定內容類型(可能與“ Accept標頭中的任何一個不匹配)。 這是一個稱為內容協商的過程

在服務器端如何工作的具體細節取決於所使用的服務器技術。 這是它在ASP.Net MVC Web API中的工作方式的簡介

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM