一般 HTTP 需求 (ADO.NET 資料服務架構)
本章節的規格適用於使用 ADO.NET 資料服務所支援之所有格式傳輸的資料。
用於從用戶端傳送至 ADO.NET 資料服務之要求的序列化 (Serialization) 格式是由要求的 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 – 無法接受 |
伺服器無法根據要求中的 |
422 - 無法處理的實體 |
執行預期要變更 ADO.NET 資料服務資源狀態的 HTTP 要求導致 ADO.NET 資料服務結構描述的違規,如 PUT、POST 和 DELETE (ADO.NET 資料服務架構) 中的規則所定義。 |
405 – 不支援的方法 |
傳送至 ADO.NET 資料服務 URI 的要求使用了 URI 所識別之資源不支援的方法。 |
500 – 內部伺服器回應碼 |
執行 HTTP 要求時發生了未預期的錯誤。 |