An image server is a type of web server software that is specialized in delivering images. They are used as a complement to existing web servers such as Apache to speed up image retrieval.
While traditional web servers generally supply clients with static copies of image files, image servers often perform additional useful processing tasks. These image processing functions may include alpha blending, compositing source images, rotating, color adjustment, amongst others.
Applications of image servers
Since images are typically the most bandwidth-intensive part of serving a web page, image servers are typically used to reduce the load on primary web servers.
Image servers are also used for more advanced applications, such as the navigation of very large image sets, the management of various images sizes and regions from a single source, and for streaming media.
In e-commerce, image servers are qualified by their abilities to scale to hundreds of thousands of images, to multiple CPUs or load-balanced server machines, and to the quantity and quality of their image processing functionalities, such as resizing, compositing, zoom and 3-d viewers, and the addition of dynamic data to the images in the form of overlaid text or graphics. Open APIs and standardized client applications add to the value of an Image Server.
A well-known imaging protocol implemented on top of HTTP is known as the Internet Imaging Protocol (IIP). This protocol is promulgated by the International Imaging Industry Association.
One of the authors of IIP, Marc Spencer CTO of LiquidPixels, has completely redesigned the core approach of dynamic imaging to overcome the limitations of the IIP protocol. The order of parameters in IIP is not considered; one can only describe what needs to be done, and the order is pre-determined. With LiquiFire, the order of the items in the image chain describes the order in which the actions are taken allowing to do complex operations like real-time colorization and compositing through a simple URL which can be instantlly constructed based on behavior or real-time data without the need of having predefined static templates.
Additional possible applications of image servers
One problem that plagues web masters is that for their site to be compatible with as many web browsers as possible, they have to use very general images to fit all. An image with a width of 400 pixels will take up half of the screen in an 800x600 resolution, but in a 1280x1024 resolution it will only cover a third. Therefore, if the page is designed for 800x600 resolution it will look considerably worse in 1280x1024. An image server can solve that by dynamically adjusting the size of the image according to the users browser settings. Similarly, old versions of Internet Explorer have trouble displaying PNG and MNG images, but an image server could detect the users browser version and send the image in a supported format such as GIF instead.
Another application of imaging servers is to allow individuals to share large amounts of high resolution images directly from their own computer - intelligently serving an image created on demand based on the specific image request. One application that demonstrates this capability is PixleyAlbum. Pixley is a very thin image server that resides on any Windows-based PC and allows the owner to share image files easily with almost no action. Pixley solves the problem of people managing to get their digital images on their PC, but never actually sharing them via services like Ofoto, Shutterfly, and the like.
Other more specialized image servers can add value to existing systems by providing services like automatic object recognition, copyright detection and image querying by visual similarity.
Geospatial or mapping has particular need for specialized "image servers". Aerial and satellite images can be 100's or 1000's of gigabytes in size. Traditional mechanisms for serving this data have proved inadequate. The first specialized image server for geospatial image data, was Image Web Server, released in 1999. Image Web Server, among other protocols, supports ECWP (ERDAS Compressed Wavelet Protocol) that "streams" large images to a user's application, rather than sending a regular image over HTTP.