Semua permintaan API Simple Log Service mendukung serangkaian header HTTP umum untuk otentikasi, kompresi, dan negosiasi konten.
Parameter
Tabel berikut mencantumkan header permintaan umum untuk API RESTful SLS.
| Header name | Type | Required | Description |
| Accept | String | No | Format respons yang diharapkan. Nilai yang valid: application/json, application/x-protobuf. Hanya berlaku untuk permintaan GET. Nilai yang diterima bervariasi tergantung API. |
| Accept-Encoding | String | No | Kompresi respons yang diharapkan. Nilai yang valid: lz4, deflate, atau kosong (tanpa kompresi). Hanya berlaku untuk permintaan GET. Nilai yang diterima bervariasi tergantung API. |
| Authorization | String | Yes | String signature permintaan yang dihitung sesuai dengan Request signatures. |
| Content-Length | Number | No | Panjang badan permintaan HTTP (RFC 2616). Tidak diperlukan jika permintaan tidak memiliki badan. |
| Content-MD5 | String | No | Hash MD5 huruf kapital dari badan permintaan. Tidak diperlukan jika permintaan tidak memiliki badan. |
| Content-Type | String | No | Jenis badan permintaan HTTP (RFC 2616). Saat ini hanya application/x-protobuf yang didukung. Tidak diperlukan jika permintaan tidak memiliki badan. Nilai yang diterima bervariasi tergantung API. |
| Date | String | Yes | Timestamp permintaan dalam GMT, format RFC 1123. Contoh: Mon, 3 Jan 2010 08:33:47 GMT. |
| Host | String | Yes | Nama host lengkap dari endpoint, tanpa awalan protokol (seperti http://). Contoh: big-game.cn-hangzhou.sls.aliyuncs.com. |
| x-log-apiversion | String | Yes | Versi API. Versi saat ini adalah 0.6.0. |
| x-log-bodyrawsize | Number | No | Ukuran badan permintaan mentah (tidak terkompresi) dalam byte. Atur ke 0 jika permintaan tidak memiliki badan. Untuk permintaan terkompresi, tentukan ukuran sebelum dikompresi. Rentang nilai yang valid: 0–3.145.728. Hanya diperlukan ketika badan dikompresi. |
| x-log-compresstype | String | No | Algoritma kompresi badan permintaan. Nilai yang valid: lz4, deflate (RFC 1951, format zlib sesuai RFC 1950). Abaikan header ini jika badan tidak dikompresi. |
| x-log-date | String | No | Timestamp permintaan dalam format yang sama dengan Date. Jika ada, menggantikan header Date untuk validasi waktu di sisi server, tetapi tidak digunakan dalam perhitungan signature. Header Date standar tetap wajib meskipun x-log-date ditentukan. |
| x-log-signaturemethod | String | Yes | Algoritma signature. Satu-satunya nilai yang didukung adalah hmac-sha1. |
| x-acs-security-token | String | No | Hanya diperlukan ketika menggunakan kredensial temporary STS untuk mengirim data. |
Catatan
- Nilai header Date harus berada dalam rentang 15 menit dari waktu server; jika tidak, permintaan akan ditolak. Jika header x-log-date tersedia, pemeriksaan selisih waktu menggunakan nilai x-log-date alih-alih Date.
- Jika x-log-compresstype diatur, badan permintaan harus berisi data terkompresi. Hitung Content-Length dan Content-MD5 berdasarkan badan yang telah dikompresi.
- Jika platform atau library HTTP Anda secara otomatis mengatur header Date, gunakan x-log-date untuk menyediakan timestamp yang benar dalam perhitungan signature. Server memvalidasi signature terhadap x-log-date jika tersedia, atau terhadap header Date standar jika tidak.
Contoh
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