

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 用於多部分 SPARQL 回應的選用 HTTP 結尾標頭
<a name="access-graph-sparql-http-trailing-headers"></a>

通常會以多個部分或區塊傳回 SPARQL 查詢和更新的 HTTP 回應。很難診斷在查詢或更新開始傳送這些區塊之後發生的失敗，特別是因為第一個區塊到達時，其 HTTP 狀態碼為 `200`。

除非您明確請求結尾標頭，否則 Neptune 只會透過將錯誤訊息附加到訊息本文 (通常已損毀) 來報告此類失敗。

若要使偵測和診斷此類問題更容易進行，您可以在請求中包括傳輸編碼 (TE) 結尾標頭 (`te: trailers`) (例如，請參閱[有關 TE 請求標頭的 MDN 頁面](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/TE))。這樣做會導致 Neptune 在回應區塊的結尾標頭內包括兩個新的標頭欄位：
+ `X-Neptune-Status` – 包含回應碼，後面接著簡短名稱。例如，若成功，結尾標頭將是：`X-Neptune-Status: 200 OK`。若失敗，回應代碼將是 [Neptune 引擎錯誤代碼](errors-engine-codes.md)，例如 `X-Neptune-Status: 500 TimeLimitExceededException`。
+ `X-Neptune-Detail` – 對於成功的請求而言是空的。若發生錯誤，它會包含 JSON 錯誤訊息。由於 HTTP 標頭值中只允許 ASCII 字元，因此 JSON 字串會進行 URL 編碼。錯誤訊息仍會附加至回應訊息本文。