User:Passani/sandbox

Image CDNs
In 2017 Addy Osmany of Google started referring to software solutions that could integrate naturally with the Responsive Web Design paradigm (with particular reference to the element) as Image CDNs. . The expression referred to the ability for a web architecture to serve multiple versions of the same image through HTTP, depending on the properties of the browser requesting it, as determined by either the browser or the server-side logic. The purpose of Image CDNs was, in Google's vision, to serve high-quality images (or, better, images perceived as high-quality by the human eye) while preserving download speed, thus contributing to a great User experience (UX).

Arguably, the Image CDN term was originally a misnomer, as neither Cloudinary nor Imgix (the examples quoted by Google in the original document) were, at the time, a CDN in the classical sense of the term. Shortly afterwards, though, several companies offered solutions that allowed developers to serve different versions of their graphical assets according to several strategies. Many of these solutions were built on top of traditional CDNs, such as Akamai, CloudFront, Fastly, Verizon Digital Media Services and Cloudflare. At the same time, other solutions that already provided an image multi-serving service joined the Image CDN definition by either offering CDN functionality natively (ImageEngine) or integrating with one of the existing CDNs (Cloudinary).

While providing a universally agreed-on definition of what an Image CDN is may not be possible, generally speaking, an Image CDN supports at least two of following three components :


 * A Content Delivery Network (CDN) for fast serving of images.
 * Image manipulation and optimization, either on-the-fly though URL directives, in batch mode (through manual upload of images) and fully-automatic.
 * Device Detection (aka Device Intelligence), i.e. the ability to determine the properties of the requesting browser and/or device through analysis of the User-Agent string, HHTP Accept headers, Client-Hints or JavaScript.

The following table summarizes the current situation with the main software CDNs in this space :