Caricare una libreria da un CDN è pratico, ma introduce una dipendenza esterna. Subresource Integrity (SRI) consente al browser di verificare che il file ricevuto corrisponda esattamente all’impronta prevista.
Il principio
Si calcola un’impronta crittografica di una versione precisa del file e la si aggiunge all’attributo integrity del tag interessato. Se il contenuto scaricato non produce la stessa impronta, il browser rifiuta di utilizzarlo.
Il generatore di hash SRI permette di preparare questo valore localmente.
SRI è adatto alle risorse stabili
Il meccanismo funziona bene per una risorsa versionata e immutabile. Se il fornitore modifica il file mantenendo lo stesso URL, l’impronta cambia e la risorsa viene bloccata. È proprio il comportamento desiderato per garantire l’integrità, ma va integrato nel processo di aggiornamento.