CORS (Preflight)

Advanced Ecosystem 🟡 Mid

Definition

Mécanisme de sécurité navigateur qui bloque les requêtes cross-origin. Les requêtes non-simples déclenchent un preflight OPTIONS pour vérifier les permissions du serveur.

Analogie

Avant de livrer un colis international, le douanier appelle le destinataire pour vérifier qu'il attend bien ce paquet.

Exemple de code

import cors from 'cors';
app.use(cors({
  origin: 'https://myapp.com',
  methods: ['GET', 'POST', 'PUT', 'DELETE'],
  credentials: true,
  maxAge: 86400, // Cache preflight 24h
}));

Cas d'usage

Configurer une API backend pour accepter les requêtes du frontend déployé sur un autre domaine.

Anti-pattern

Mettre origin: '*' avec credentials: true, ce qui est interdit par les navigateurs et masque un problème de config.

Termes lies

#security#web#networking