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 (en-US). 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 et Content-Language ne peuvent contenir que les caractères 0-9, A-Z, a-z, espace ou *,-.;=.
  • Accept et Content-Type ne peuvent pas contenir un octet d'en-tête non-sûr : 0x00-0x1F (exception faite de 0x09 (HT) qui est autorisé), "():<>?@[\]{}, et 0x7F (DEL).
  • Content-Type doit être un type MIME qui (lorsqu'on ignore les paramètres) vaut application/x-www-form-urlencoded, ou multipart/form-data, ou text/plain.
  • La valeur de Range (en-US) doit être un seul intervalle d'octets sous la forme bytes=[0-9]+-[0-9]*. Voir la documentation de Range (en-US) pour plus de détails.
  • Pour n'importe quel en-tête, la longueur de la valeur ne peut excéder 128.

Voir aussi