公共请求头

本文列举了日志服务API的公共请求头信息。

参数列表

日志服务API是基于HTTP协议的REST风格接口。它支持一组可以在所有API请求中使用的公共请求头,其详细说明如下:
Header名称类型是否必须说明
Accept字符串客户端希望服务端返回的类型,目前支持application/json、application/x-protobuf两种。仅对GET请求有效,具体取值以各个接口定义为准。
Accept-Encoding字符串客户端希望服务端返回的压缩算法,目前支持lz4、deflate或空(不压缩)。仅对GET类请求有效,具体取值以各个接口定义为准。
Authorization字符串签名内容,更多细节请参考 请求签名
Content-Length数值RFC 2616中定义的HTTP请求Body长度。如果请求无Body部分,则不需要提供该请求头。
Content-MD5字符串请求Body经过MD5计算后的字符串,计算结果为大写。如果没有Body部分,则不需要提供该请求头。
Content-Type字符串RFC 2616中定义的HTTP请求Body类型。目前日志服务API请求只支持application/x-protobuf类型。如果没有Body部分,则不需要提供该请求头。具体取值以各个接口定义为准。
Date字符串当前发送时刻的时间,参数目前只支持RFC 1123格式,使用GMT标准时间。格式化字符串如下:%a,%d%b%Y %H:%M:%S GMT (例如:Mon, 3 Jan 2010 08:33:47 GMT)。
Host字符串HTTP请求的完整HOST名称(不包括如http://这样的协议头)。例如,big-game.cn-hangzhou.sls.aliyuncs.com
x-log-apiversion字符串API的版本号,当前版本为0.6.0。
x-log-bodyrawsize数值请求的Body原始大小。当无Body时,该字段为0;当Body是压缩数据,则为压缩前的原始数据大小。该域取值范围为0~3x1024x1024。该字段只在压缩时需要。
x-log-compresstype字符串API请求中Body部分使用的压缩方式。目前支持lz4压缩类型和deflate压缩类型(RFC 1951,使用zlib格式,参考RFC 1950)。如果不压缩可以不提供该请求头。
x-log-date字符串当前发送时刻的时间,格式和Date头一致。如果请求中包含该公共请求头,它的值会取代Date标准头的值用于服务端请求验证(该字段不参与签名)。无论是否有x-log-date头,HTTP标准Date头都必须提供。
x-log-signaturemethod字符串签名计算方式,目前仅支持hmac-sha1
x-acs-security-token字符串使用STS临时身份发送数据。当使用STS临时身份时必填,其他情况不要填写。
说明
  • 请求中Date所表示的时间与服务器接收到该请求的时间最大可接受误差为15分钟,如果超过15分钟服务器端会拒绝该请求。如果请求中设置了x-log-date头部,则该时间误差计算基于x-log-date头的值。
  • 如果请求指明了压缩算法(在x-log-compresstype中指定),则需要把原始数据压缩后放到HTTP Body部分,而对应的Content-LengthContent-MD5头部也是按照压缩后的Body部分计算。
  • 由于某些平台发送HTTP请求时无法指定Date头(由平台自身的库内部自动指定为发送当前时间),造成无法使用正确的Date值计算请求签名。在这种情况下,请指定x-log-date头并用该请求头的值参与请求签名计算。日志服务端在接收到API请求后会首先判断是否有x-log-date头。如果有,则用它的值来做签名验证,否则就用HTTP的标准头Date做签名验证。

示例

POST / HTTP/1.1
Authorization: LOG <yourAccessKeyId>:<yourSignature>
x-log-bodyrawsize: 0
User-Agent: sls-java-sdk-v-0.6.1
x-log-apiversion: 0.6.0
Host: my-project-test.cn-shanghai.log.aliyuncs.com
x-log-signaturemethod: hmac-sha1
Date: Sun, 27 May 2018 07:43:26 GMT
Content-Type: application/json
Content-MD5: A7967D81EFF5E3CD447FB6D8DF294E20
Content-Length: 80
Connection: Keep-Alive