Serving static (non-image) contents

You can use Image Serving to manage non-image content in catalogs and serve it via a separate /is/content context.

This capability allows for configuring the TTL for each item separately.

Image Serving supports the following commands at /is/content:

type

Content type filter.

req

req=userdata,req=props, and req=exists only.

cache

Allows disabling client-side caching.

Basic syntax

request

http://server/is/content[/catalog/item][?modifiers]

server

server_address[ :port]

catalog

Catalog identifier.

item

Static content item ID.

modifiers

command*[&command]

command

cmdName=value

cmdName

One of the supported command names.

value

Command value.

Static content catalogs

Static content catalogs are similar to image catalogs, but support fewer data fields:

Attribute/Data

Notes

catalog::Id

The catalog record identifier for this static content item.

catalog::Path

The file path for this content item.

catalog::Expiration

The TTL for this content item; attribute::Expiration is used if not specified or if empty.

catalog::TimeStamp

File modification time stamp; required when catalog-based validation is enabled with attribute::CacheValidationPolicy.

catalog::UserData

Optional metadata associated with this static content item; available to the client with req=userdata.

catalog::UserType

Optional data type; can be used to filter requests for static content with the type= command.

Filtering static content

This mechanism can help ensure that clients receive only contents appropriate for their needs. Assuming that the static content is tagged with appropriate catalog::UserType values, the client can add the type= command to the request. Image Serving compares the value provided with the type= command to the value of catalog::UserType and, in case of a mismatch, return an error instead of potentially inappropriate contents.

Video caption files

You can encapsulate video caption files (WebVTT), CSS, or any text file in JSONP format. The JSON response is described below.

  • For WebVTT files, the mime type of the response is text/javascript. JSON is not returned; instead, Javascript is returned that calls a method with JSON. Both the ID and handler are optional.

  • For CSS files, the mime type of the response is text/javascript. Both the ID and handler are optional.

  • By default, UTF-8 encoding is applied to ensure that it is decoded correctly. The default size limit is 2 MB.

You can also use tracks for other kinds of timed metadata. The source data for each track element is a text file made up of a list of timed cues. Cues can include data in formats such as JSON or CSV.

See http://en.wikipedia.org/wiki/JSONP for more information about the JSONP format.

See www.json.org for more information about the JSON format.