通用 HTTP 要求(ADO.NET 数据服务框架)

本节中包含的规范适用于以 ADO.NET 数据服务支持的任何格式传输的数据。

从客户端发送到 ADO.NET 数据服务的请求所使用的序列化格式由该请求的 ContentType HTTP 标头指定。来自数据服务的响应的格式由该请求的 Accept HTTP 标头指定。按照 RFC 2616 中的指定,Accept 标头指示针对请求的响应限定于特定的 MIME 类型集。

ACCEPT 标头处理

ADO.NET 数据服务使用以下规则来确定响应格式:

  • 如果请求包含一个 Accept 标头,则使用 RFC 2616 的第 14.1 节中定义的规则来分析此 Accept 标头。

  • ADO.NET 数据服务将忽略此标头中指定的任何“q”值规则。

  • 然后将通过分析 Accept 标头而返回的 MIME 类型用作响应格式,如以下各表所述。

在通过遵循 Accept 标头处理规则确定格式 MIME 类型之后,使用以下各表中汇总的规则找到响应的特定 MIME 类型。

Accept 标头中定义的 MIME 类型自身不能确定一个 MIME 类型。例如,application/* 不会定义单个子类型。如果服务器不能根据 Accept 标头值发送一个可接受的响应,则根据 RFC 2616,该服务器将发送一个 406 响应代码,此代码指示请求是不可接受的。

将媒体类型分组

请求的 Mime 类型 响应 Mime 类型 序列化格式

*/*

application/atom+xml

ATOM/APP

text/*

不支持

不支持

application/*

不支持

不支持

单个媒体类型

请求的 Mime 类型 响应 Mime 类型 序列化格式

text/xml

text/xml

ATOM/APP

application/xml

application/xml

ATOM/APP

application/atom+xml

application/atom+xml

ATOM/APP

application/json

application/json

JSON

响应代码

下表显示在 ADO.NET 数据服务无法处理请求时使用的响应代码:

响应代码 说明

400 – 错误的请求

未按照本规范中定义的序列化规则正确设置请求中提供的负载的格式。

404 – 未找到

将一个使用数据服务支持的任何 HTTP 谓词的请求发送到一个未映射到可寻址的资源的 URI。

406 – 不可接受

服务器不能根据请求中的 Accept 标头或查询字符串指令发送可接受的响应。

422 - 无法处理的实体

若执行一个旨在更改 ADO.NET 数据服务资源的状态的 HTTP 请求,则会导致 PUT、POST 和 DELETE(ADO.NET 数据服务框架) 中的规则定义的 ADO.NET 数据服务架构发生冲突。

405 – 不支持的方法

发送给 ADO.NET 数据服务 URI 的请求使用了 URI 标识的资源不支持的方法。

500 – 内部服务器响应代码

执行 HTTP 请求时发生意外错误。

另请参见

概念

用于对资源进行寻址的 URI 格式(ADO.NET 数据服务框架)
ADO.NET 数据服务规范