Subresource Integrity
Subresource Integrity or SRI is a W3C recommendation to provide a method to protect website delivery. Specifically, it validates assets served by a third party, such as a content delivery network (CDN). This ensures these assets have not been compromised for hostile purposes.
To use SRI, a website author wishing to include a resource from a third party can specify a cryptographic hash of the resource in addition to the location of the resource. Browsers fetching the resource can then compare the hash provided by the website author with the hash computed from the resource. If the hashes don't match, the resource is discarded.[1]
An integrity value may contain more than one space-separated hash expression. Each expression combines a hash algorithm name with a Base64-encoded digest; when several recognized algorithms are supplied, the user agent validates the response using the strongest algorithm in the list.[2]
A sample script element with integrity and crossorigin attribute used by the SRI:
<script src="https://cdn.example.com/app.js"
integrity="sha384-+/M6kredJcxdsqkczBUjMLvqyHb1K/JThDXWsBVxMEeZHEaMKEOEct339VItX1zB"
crossorigin="anonymous">
</script>
References
[edit]- ↑ "Subresource Integrity". Mozilla Developer Network. Retrieved 14 April 2016.
- ↑ "Subresource Integrity". World Wide Web Consortium. 23 June 2016. Retrieved 3 August 2026.