Que sont les ressources statiques ?
Les ressources statiques sont des fichiers distribués sans être générés à nouveau à chaque requête, notamment des images, des polices, des feuilles de style, des scripts et des vidéos. Leur contenu ne change que lorsque les fichiers stockés sont remplacés ou reconstruits.
Fonctionnement des ressources statiques
Ces fichiers déployables sont produits avant toute requête et servis directement depuis un serveur d’origine, un stockage objet ou un CDN. Un système de compilation peut les optimiser, les regrouper en paquets ou leur attribuer une empreinte, même si la couche de distribution n’effectue pas leur rendu pour chaque visiteur. Des noms fondés sur le contenu ou associés à une révision permettent une mise en cache immuable, tandis qu’un document HTML ou un manifeste renvoie vers les versions actuelles. Sur les sites multimédias, cet ensemble peut comprendre les images et les polices de l’interface, ainsi que des extraits de prévisualisation, des affiches et des ressources téléchargeables.
Points clés
- Un nom de fichier contenant une empreinte du contenu rend l’invalidation du cache explicite : des octets modifiés produisent une nouvelle URL, tandis que les ressources inchangées restent réutilisables entre les déploiements et les pages.
- Des types MIME corrects restent importants pour la distribution statique, mais les contrôles varient selon le type de ressource : les navigateurs refusent les scripts de modules ES servis sans type MIME JavaScript, nosniff ajoute un blocage pour les scripts et les feuilles de style dont le type ne correspond pas, et le chargement des polices et des médias n’exige généralement pas de valeur Content-Type correspondante. Toutefois, le blocage des réponses interorigines dans certains navigateurs peut rejeter certaines réponses en fonction de leur type.
- L’utilisation interorigine de polices, de canevas et de médias peut nécessiter des en-têtes CORS adaptés. Placer une ressource sur un CDN ne la rend pas automatiquement lisible par les API du navigateur depuis une autre origine.
Quand les ressources statiques sont importantes
Attribuez une empreinte aux ressources lorsque de nouvelles versions peuvent modifier leur contenu, afin de permettre une mise en cache de longue durée dans les navigateurs et les CDN. Sans URL versionnées, les fichiers périmés en cache peuvent entrer en conflit avec le code nouvellement déployé.