用于多部分 SPARQL 响应的可选 HTTP 尾随标头 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

用于多部分 SPARQL 响应的可选 HTTP 尾随标头

对 SPARQL 查询和更新的 HTTP 响应通常在多个部分或数据块中返回。很难诊断在查询或更新开始发送这些块之后发生的故障,特别是因为第一个数据块到达的 HTTP 状态代码为200.

除非您明确请求尾随标题,否则 Neptune 只会通过向消息正文附加错误消息来报告此类失败,该消息通常已损坏。

为了使这类问题的检测和诊断更容易,您可以包含传输编码 (TE) 拖车标头 (te: trailers)(例如,请参阅关于 TE 请求标头的 MDN 页)。这样做会导致 Neptune 在响应块的尾随标题中包含两个新的标题字段:

  • X-Neptune-Status— 包含响应代码,后跟一个简短的名称。例如,如果成功,尾随标题将是:X-Neptune-Status: 200 OK. 在失败的情况下,响应代码将是Neptune 引擎错误代码例如X-Neptune-Status: 500 TimeLimitExceededException.

  • X-Neptune-Detail— 对于成功的请求,为空。在出现错误的情况下,它包含 JSON 错误消息。由于 HTTP 标头值中只允许使用 ASCII 字符,因此 JSON 字符串是 URL 编码的。错误消息仍会附加到响应消息正文中。