本文列舉了Log ServiceAPI的公用要求標頭資訊。
參數列表
Log ServiceAPI是基於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類型。目前Log ServiceAPI請求只支援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-Length、Content-MD5頭部也是按照壓縮後的Body部分計算。
- 由於某些平台發送HTTP請求時無法指定Date頭(由平台自身的庫內部自動指定為發送目前時間),造成無法使用正確的Date值計算請求籤名。在這種情況下,請指定x-log-date頭並用該要求標頭的值參與請求籤名計算。Log Service端在接收到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