Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Image server
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Web server software}} {{Multiple issues| {{More citations needed|date=September 2016}} {{Original research|article|date=November 2009}} }} An '''image server''' is [[web server]] software which specializes in delivering (and often modifying) [[image]]s. 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.<ref>{{cite web|last1=Agüera y Arcas|first1=Blaise|title=How PhotoSynth can connect the world's images|date=27 May 2007 |url=http://www.ted.com/talks/blaise_aguera_y_arcas_demos_photosynth|accessdate=8 March 2015}}</ref> 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 [[Single-source imaging|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 programming|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 programming|Imperative]] APIs, (such as [[Internet Imaging Protocol|IIP]] or [[International Image Interoperability Framework|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.<ref>{{cite web|last1=Gasienica|first1=Daniel|title=Inside Deep Zoom|url=http://www.gasi.ch/blog/inside-deep-zoom-1/|website=gasi.ch/|accessdate=8 March 2015}}</ref> 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.<ref>{{cite web|title=About IIPImage|url=http://iipimage.sourceforge.net/|website=iipimage.sourceforge.net/|accessdate=8 March 2015}}</ref> === 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 abilities to scale to hundreds of thousands of images, to multiple [[Central processing unit|CPUs]] or [[Load balancing (computing)|load-balanced]] [[Server (computing)|server]] machines, and to the quantity and quality of their image processing functionalities, such as resizing, compositing, zoom and 3D viewers, and the addition of dynamic data to the images in the form of overlaid text or graphics. Dynamic compositing is also extremely useful for merchants who permit product customization. Many vehicle manufacturers use dynamic compositing to let the visitor visualize their customizations. === Large image sets, mapping, and geospatial use === Geospatial or mapping has particular need for specialized "image servers". Aerial and satellite images are georeferenced and can be hundreds or thousands 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 [[ERDAS Compressed Wavelet Protocol|ECWP]] (ERDAS Compressed Wavelet Protocol) that "streams" large images to a user's application, rather than sending a regular image over HTTP. The well known standard for a distributed architecture of geospatial data is [[Web Map Service]]. === Responsive web design & mobile support === [[Responsive web design]] has driven the creation of dozens of new image servers which often integrate device or resolution detection. To prevent resampling artifacts, it's important that images display at native resolution - one image pixel per device display pixel. To accomplish this, a large number of variations must be created for each screen resolution. An image server can solve that by dynamically adjusting the size of the image according to the user's browser settings. === Backwards compatibility === Old versions of [[Internet Explorer]] have trouble displaying [[Portable Network Graphics|PNG]] and [[Multiple-image Network Graphics|MNG]] images, but an image server could detect the user's browser version and send the image in a supported format such as [[Graphics Interchange Format|GIF]] instead. Image servers may enable early adopters to begin using [[WebP]] before all browsers implement support. == Standards and specifications == * RESTful Image API (RIAPI) - 2012 - Draft specification for a simple, declarative, querystring-based image API.<ref>[https://github.com/riapi/riapi RESTful Image API]</ref> Browser-compatible. * [[Internet Imaging Protocol]] (IIP) - 1997 - (optionally) HTTP-based imperative protocol for image editing; heavily tied to the [[FlashPix]] file format. Authored by the [[International Imaging Industry Association]] * [[ERDAS Compressed Wavelet Protocol|ECWP]] (ERDAS Compressed Wavelet Protocol) * [[Web Map Service]] ==See also== * [[Dynamic imaging]] ==References== {{Reflist}} {{DEFAULTSORT:Image Server}} [[Category:Web hosting]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Multiple issues
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)