En-tête de requête sûr pour le CORS
Un en-tête de requêtes sûr pour le CORS (CORS-safelisted request header) est l'un des en-têtes HTTP suivants :
Lorsqu'une requête ne contient que ces en-têtes (et répond aux critères indiqués après), il n'y a pas besoin d'une requête préalable (preflight request) dans le contexte du CORS.
Il est possible d'indiquer d'autres en-têtes comme sûrs à l'aide de l'en-tête Access-Control-Allow-Headers
. Access-Control-Allow-Headers
permet également de lister les en-têtes précédents pour contourner les restrictions supplémentaires décrites ensuite.
Restrictions supplémentaires
Les en-têtes sûr pour le CORS doivent également respecter ces critères :
- Les valeurs pour
Accept-Language
etContent-Language
ne peuvent contenir que les caractères0-9
,A-Z
,a-z
, espace ou*,-.;=
. Accept
etContent-Type
ne peuvent pas contenir un octet d'en-tête non-sûr :0x00-0x1F
(exception faite de0x09 (HT)
qui est autorisé),"():<>?@[\]{}
, et0x7F (DEL)
.Content-Type
doit être un type MIME qui (lorsqu'on ignore les paramètres) vautapplication/x-www-form-urlencoded
, oumultipart/form-data
, outext/plain
.- La valeur de
Range
doit être un seul intervalle d'octets sous la formebytes=[0-9]+-[0-9]*
. Voir la documentation deRange
pour plus de détails. - Pour n'importe quel en-tête, la longueur de la valeur ne peut excéder 128.