Toutes les requêtes adressées à l'API Simple Log Service prennent en charge un ensemble d'en-têtes HTTP communs destinés à l'authentification, à la compression et à la négociation de contenu.
Paramètres
Le tableau suivant répertorie les en-têtes de requête communs aux API RESTful de SLS.
| Nom de l'en-tête | Type | Obligatoire | Description |
| Accept | String | Non | Format de réponse attendu. Valeurs valides : application/json, application/x-protobuf. S'applique uniquement aux requêtes GET. La valeur acceptée varie selon l'API. |
| Accept-Encoding | String | Non | Compression de réponse attendue. Valeurs valides : lz4, deflate ou vide (aucune compression). S'applique uniquement aux requêtes GET. La valeur acceptée varie selon l'API. |
| Authorization | String | Oui | Chaîne de signature de la requête, calculée conformément aux Signatures de requête. |
| Content-Length | Number | Non | Longueur du corps de la requête HTTP (RFC 2616). Non requis si la requête ne contient aucun corps. |
| Content-MD5 | String | Non | Hachage MD5 en majuscules du corps de la requête. Non requis si la requête ne contient aucun corps. |
| Content-Type | String | Non | Type du corps de la requête HTTP (RFC 2616). Actuellement, seule la valeur application/x-protobuf est prise en charge. Non requis si la requête ne contient aucun corps. La valeur acceptée varie selon l'API. |
| Date | String | Oui | Horodatage de la requête au format GMT RFC 1123. Exemple : Mon, 3 Jan 2010 08:33:47 GMT. |
| Host | String | Oui | Nom d'hôte complet de l'endpoint, sans le préfixe de protocole (tel que http://). Exemple : big-game.cn-hangzhou.sls.aliyuncs.com. |
| x-log-apiversion | String | Oui | Version de l'API. La version actuelle est 0.6.0. |
| x-log-bodyrawsize | Number | Non | Taille brute (non compressée) du corps de la requête, en octets. Définissez cette valeur sur 0 si la requête ne contient aucun corps. Pour les requêtes compressées, spécifiez la taille avant compression. Plage valide : 0–3 145 728. Requis uniquement lorsque le corps est compressé. |
| x-log-compresstype | String | Non | Algorithme de compression du corps de la requête. Valeurs valides : lz4, deflate (RFC 1951, format zlib selon la RFC 1950). Omettez cet en-tête si le corps n'est pas compressé. |
| x-log-date | String | Non | Horodatage de la requête, au même format que Date. Lorsqu'il est présent, il remplace l'en-tête Date pour la validation temporelle côté serveur, mais n'est pas utilisé dans le calcul de la signature. L'en-tête Date standard reste obligatoire, même si x-log-date est spécifié. |
| x-log-signaturemethod | String | Oui | Algorithme de signature. La seule valeur prise en charge est hmac-sha1. |
| x-acs-security-token | String | Non | Requis uniquement lors de l'utilisation d'identifiants temporaires STS pour envoyer des données. |
La valeur de l'en-tête Date doit se situer dans une fenêtre de 15 minutes par rapport à l'heure du serveur ; sinon, la requête est rejetée. Lorsque l'en-tête x-log-date est présent, la vérification du décalage horaire utilise la valeur de x-log-date au lieu de Date.
Lorsque x-log-compresstype est défini, le corps de la requête doit contenir des données compressées. Calculez Content-Length et Content-MD5 à partir du corps compressé.
Si votre plateforme ou bibliothèque HTTP définit automatiquement l'en-tête Date, utilisez x-log-date pour fournir l'horodatage correct destiné au calcul de la signature. Le serveur valide la signature par rapport à x-log-date lorsqu'il est présent, ou à l'en-tête Date standard dans le cas contraire.
Exemple
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