我正在尝试一般地学习Web服务,并且对此有一个小疑问。
发送HTTP请求时,如果我在Accept标头中提到特定格式(例如JSON),并且假设服务器不支持该格式,那么它将是网络调用错误,还是服务器仍将以其支持的任何格式进行响应?
我知道在发送POST请求时,客户端会通过名称“ Content Type”发送另一个标头,如果服务器不支持该格式,那么它将以415错误返回。 (不受支持的媒体类型)。
答案 0 :(得分:2)
由服务器决定。不需要注意Accept标头字段。
没有任何Accept标头字段的请求表示用户代理 将接受任何媒体类型作为响应。如果标题字段存在 在请求中,并且没有可用的表示形式 回应的媒体类型被列为可接受的来源 服务器可以通过发送406(不是 接受)响应或通过处理以下内容忽略标头字段 就像不需要进行内容协商一样。
(来自https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.5.3.2.p.7)
答案 1 :(得分:0)
对于Web服务,服务器将负责表示它打算支持的格式类型,无论它是使用JSON还是XML。
基于从客户端接收的数据,服务器应验证客户端提供的格式。如果符合指定的格式,则服务器将相应地响应终点的意图。另一方面,如果不合适,则服务器应正常响应,表明Web服务不支持格式(JSON / XML)。
我希望能回答您的问题。祝你有美好的一天!