An image server is web server software which specializes in delivering (and often modifying) images. However, not all image servers support HTTP or can be used on web sites. While traditional web servers generally supply clients with static copies of image files, image servers usually perform additional image processing before serving the file. These functions may include frame/format selection, resizing, cropping, alpha blending, compositing source images, rotating, color adjustment, and filtering. A major use of image servers is to support browser-based pan-and-zoom viewers. port/1188 Concepts Single-source imaging The proliferation of mobile devices, screen resolutions, and pixel densities has forced web designers to create an ever-increasing number of image variations. Image servers capable of dynamic image resizing can produce the required sizes and variations on demand, eliminating repetitive work and the room for human error. Declarative vs imperative Declarative APIs (such as RIAPI) allow the client to describe resulting characteristics of the image, such as desired size, aspect ratio, rotation, fit modes, etc. Command order is not important - ?width=200&height=100 will produce the same result as ?height=100&width=200. The server is free to coalesce compatible operations to improve performance. Imperative APIs, (such as IIP or IIIF) describe the operations to apply to the image in order, offering the user more control, but also more responsibility for calculations. Uses Dynamic tile-based delivery Browser-based viewers for high resolution images enable a responsive pan and zoom experience by requesting small tiles (typically square JPEGs or PNGs at 256x256 or 512x512 pixels) generated from the high resolution source. Only those tiles required to render the user's current viewport and zoom level are loaded, with more requested on demand as the user zooms in to particular areas. This tile generation can be done in advance and stored on the server file system as an Image Pyramid. However, this results in potentially thousands of small JPEG files with associated storage and management overhead. An Image server can respond dynamically to HTTP requests for the tiles, generating HTTP responses (the tile images) on the fly. The server requires only the single high resolution source image. E-commerce The simplest product viewers usually require at least 3 versions of an image: a 100x100 thumbnail, a 400x300 medium 'in-page, selected', and a 1200x900 'zoomed' version. Combined with the original file, this results in 4 separate images that must be stored, updated, and linked to. In e-commerce, image servers are qualified by their