CDN Basic

Integrating Using Host/Domain

Our CDN Basic service is made for ease of implementation. There is no API to learn and the default settings should work for you right out of the box. To start delivering your content via CDN Basic, just change paths on your web pages to point to your KisoLabs CDN hostname:

http://[Your Site].kisocdnb.net

If you will be using CDN Basic within your SSL-protected (HTTPS) pages, you must use the method shown under Integrating Using Host Keys.

Let's take this very simple web page at which shows an MP4 video as an example:

  1. <html>
  2. <head>
  3. <title>Welcome to Sprockets, Inc.</title>
  4. </head>
  5. <body>
  6. <p>If you're interested in sprockets, please view our introductory video:</p>
  7. <video width="560" height="340" controls>
  8. <source src="/videos/sprockets_intro.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
  9. </video>
  10. </body>
  11. </html>

To have the video delivered via CDN Basic, add your KisoLabs CDN hostname to the source path of the video:

  1. <html>
  2. <head>
  3. <title>Welcome to Sprockets, Inc.</title>
  4. </head>
  5. <body>
  6. <p>If you're interested in sprockets, please view our introductory video:</p>
  7. <video width="560" height="340" controls>
  8. <source src="http://[Your Site].kisocdnb.net/videos/sprockets_intro.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
  9. </video>
  10. </body>
  11. </html>

If your site's content is hosted under the subdomain www, simply add the subdomain to the beginning of the CDN hostname. For example, if your content is hosted at:

http://www.[Your Site]

Then you should use the CDN URL:

http://www.[Your Site].kisocdnb.net

Ensure that www is listed under allowed subdomains in your configuration.

Integrating Using Host Keys

A host key is a unique 8-character indentifier for each host under your domain which will act as an origin for CDN Basic. Instead of the method described for integrating using the host and domain name, you can link to CDN content using your host key:

http://[HostKey].kisocdnb.net

Let's take this very simple web page at which shows an MP4 video as an example:

  1. <html>
  2. <head>
  3. <title>Welcome to Sprockets, Inc.</title>
  4. </head>
  5. <body>
  6. <p>If you're interested in sprockets, please view our introductory video:</p>
  7. <video width="560" height="340" controls>
  8. <source src="/videos/sprockets_intro.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
  9. </video>
  10. </body>
  11. </html>

To have the video delivered via CDN Basic, add your KisoLabs CDN host key URL to the source path of the video:

  1. <html>
  2. <head>
  3. <title>Welcome to Sprockets, Inc.</title>
  4. </head>
  5. <body>
  6. <p>If you're interested in sprockets, please view our introductory video:</p>
  7. <video width="560" height="340" controls>
  8. <source src="http://[Host Key].kisocdnb.net/videos/sprockets_intro.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
  9. </video>
  10. </body>
  11. </html>

If you wish to access CDN content from your SSL-protected (HTTPS) pages, you must use the host key URL format. The URL would be the same as in the example above, but you would replace http:// with https:// .

Adding Host Keys

You may add as many hosts as you wish to your list of host keys. By default, you will have the following host keys configured when you set up your CDN Basic service:

The first host listed ( @ ) is the root of your domain. If your domain were example.com and you have an image hosted at this URL:

http://example.com/images/logo.gif

You could retrieve that image from the CDN at this URL (where gnc74dia is the host key for @ in the sample screenshot above):

http://gnc74dia.kisocdnb.net/images/logo.gif

You can add host keys for any number of subdomains (providing that the total number of characters is 128 or less). For example, the following host key entries are all valid:

If your domain were example.com, then (using the sample screenshot above) the following three URLs would return the same image file. The first will return the image from the origin, the second from the CDN, and the third from the CDN using HTTPS:

http://www.secure.example.com/images/icon.png

http://j6vmhbbw.kisocdnb.net/images/icon.png

https://j6vmhbbw.kisocdnb.net/images/icon.png

Configuration

The CDN Basic configuration is straightforward and easy to use. All of the options are listed below:

Cache Timeout

This is the number of seconds until your content is considered stale and is refreshed from your server. In other words, the CDN will not keep any content that is older than this number of seconds. If the CDN has a copy of your content that is older than the number of seconds specified, it will remove that content from its cache and obtain a new copy of the content from your sever.

The default cache timeout value is 604800 (seven days), and may have any value from 14400 seconds (four hours) through 604800 seconds (seven days). A smaller timeout value will mean that the KisoLabs CDN servers will request content from your servers more frequently. Likewise a longer timeout will result in fewer requests.

Purge Content

Checking this box and then pressing the Save button will result in the removal of all of your content from the KisoLabs CDN servers. The next time any of your content is requested by an end user, a fresh copy of that content will be cached in the CDN. This will have the effect of increasing traffic to your server(s), but may be necessary when making changes to content on your site.

Only 10 purges of your content are allowed in a 24-hour period. It may take up to 5 minutes for a purge request to propagate across the entire KisoLabs CDN infrastructure.

Last Purged

This is the date and time (in your timezone) on which your content was last purged.

Purge Count (24 hrs)

This is the number of times that your content has been purged in the last 24 hours.

Supported MIME Types

At this time, CDN Basic supports the MIME types and extensions listed below. Attempting to deliver other types of files will result in an error when the files are requested from the CDN.

MIME Type Supported Extension(s)
text/plain txt
text/html htm, html, php, asp, aspx
text/css css
application/javascript js
application/xml xml
application/json json
application/x-shockwave-flash swf
video/x-flv flv
image/png png
image/jpeg jpg, jpeg, jpe
image/gif gif
image/bmp bmp
image/vnd.microsoft.icon ico
image/tiff tif, tiff
image/svg+xml svg, svgz
application/zip zip
application/x-rar-compressed rar
application/x-msdownload1 exe, msi
application/vnd.ms-cab-compressed cab
audio/mpeg mp3
video/quicktime qt, mov
video/x-ms-wmv wmv
video/x-ms-asf asf, asx
video/x-ms-wma wma
video/x-ms-wax wax
video/x-ms-wvx wvx
video/x-ms-wm wm
video/x-ms-wmx wmx
video/x-ms-wmz wmz
video/x-ms-wmd wmd
audio/wav wav
audio/x-mpegurl m3u
audio/basic au, snd
audio/mid mid, rmi
audio/x-aiff aif, aifc, aiff
audio/x-pn-realaudio ra, ram
application/pdf pdf
image/vnd.adobe.photoshop psd
application/postscript ai, eps, ps
application/msword doc
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
application/rtf rtf
application/vnd.ms-excel xls
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
application/vnd.ms-powerpoint ppt
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/vnd.oasis.opendocument.text odt
application/vnd.oasis.opendocument.spreadsheet ods

1 The hosting of files with the extensions exe and msi is not permitted by default. If you need to deliver these file types via KisoLabs CDN, please contact support. They will be enabled for CDN services on a case-by-case basis.

Log Format

Full text logs for your services are available here.

CDN Basic logs are formatted as space-delimited files with quotes enclosing any field that contains a space as content. The general format of the log is as follows:

  1. [Date] [Host] [Host Key] [Host Key Requested?] [Cache Disposition] [Client IP] [Request Method] [Requested Asset] [Status Code] [Content Length] [Referer] [User Agent]

Each of the fields is described below:

Field Type Description
Date date The UTC date and time of the request. The format is:

yyyy-MM-dd HH:mm:ss

yyyy is the 4-digit year.
MM is the month (01-12) with leading zeroes.
dd is the day of the month with leading zeroes.
HH is the hour (00-23) with leading zeroes.
mm is minutes
ss is seconds
Host string The host that was requested. This corresponds to the entry in your Host Keys configuration.

Your zone and the KisoLabs CDN zone are omitted from this value. For example, if a user requests an asset using the FQDN www.example.com.kisocdnb.net, the host field will contain www.

If the root of your zone was requested, the host will be displayed as an at sign (@).
Host Key string The host key that was requested. This corresponds to the entry in your Host Keys configuration.
Host Key Requested? boolean (integer) This field indicates whether the asset was requested using the Host or Host Key listed in the previous two columns.

0 = Host name was used
1 = Host key was used
Cache Disposition string A two-letter code indicating how the request was handled by the CDN cache:

CA (CAche) - The requested content was delivered from the CDN cache.
OR (ORigin) - The requested content was not found in the CDN cache and was delivered as it was fetched from the origin server.
ON (Origin file Not found) - The requested content was not found in the CDN cache and could not be obtained from the origin server. This indicates that the origin server did not provide the content requested, usually because it presented a 4XX or 5XX HTTP status code in response to the request made to it by the CDN.
DL (DownLoading) - The requested content was already in the process of being downloaded from the origin server, and was delivered from the CDN cache as content became available from the origin download.
OP (Origin Parital) - The requested content had already been partially downloaded from the origin server, but the original download had been interrupted. Part of the content was delivered from the CDN cache, and the remainder was delivered as it was fetched from the origin server. In cases where the origin server does not support byte ranges or the CDN determines that using a byte range would be inappropriate, the content will be downloaded from the origin server in full.

Requests that did not result in any content being delivered begin with an "N" as follows:

NC (No Configuration) - The configuration for the zone was not found. This usually occurs if an invalid host or host key was specified, or if traffic is directed to the CDN before a new service or changes to an existing service can propagate to all CDN servers.
NT (No Timeout / No access level) - The configuration for the zone was found, but it was incomplete and did not include a valid cache timeout and/or access level. This usually occurs if traffic is directed to the CDN before a new service or changes to an existing service can propagate to all CDN servers.
NF (No Favicon.ico permitted) - The file favicon.ico is not supported by the CDN.
NM (Not a valid Mime type) - The extension of the file requested indicates that it is not a valid MIME type. See Supported MIME Types in the CDN Basic documentation for more information.
NE (Not a valid Extension) - The CDN does not support files with the following extensions: .exe, .com, and .bat.
NU (Not a valid URI) - No file extension found or request URI is empty. The CDN does not support default documents.
ND (No Default documents) - No file extension found. The CDN does not support default documents.

If there is no cache disposition for a request, the field will be deliniated with a single dash (-). This is usually the case when the request made by the client is invalid and did not match any of the conditions descibed above.
Client IP IP (string) The IP address of the client making the request.
Request Method string The HTTP method used to make the request (e.g. GET)
Requested Asset string The relative URL of the asset requested.

For example, if the client requested http://s3qs2m92.kisocdnb.net/example.html, this field would contain /example.html
Status Code integer The HTTP status code generated by the CDN server in response to the request. Common status codes and their causes are:

200 = Asset found and passed to client.
403 = There was an error fetching the CDN configuration.
404 = Asset was not found on your server and could not be delivered.
Content Length integer The length of the content returned in bytes.
Referer string The URL of the resource that caused the asset to be requested. Usually this will be the web page that references the asset being requested.
User Agent string The user agent string that the client's browser passed to the CDN server.

Sample Log

For the sake of example, four log lines are shown below for the imaginary website located at http://www.example.com.

  1. "2012-03-15 23:01:18" www pp778zr6 0 CA 10.65.140.34 GET /pics/products/DSCN00049.jpg 200 285474 http://www.example.com/products/super_widget.html "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/6.0)"
  2. "2012-03-15 23:01:20" www pp778zr6 1 OR 172.16.244.6 GET /pics/products/DSCN00667.jpg 200 108822 http://www.example.com/products/amazing_wathcha.html "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0"
  3. "2012-03-15 23:01:23" @ pp778zr6 0 DL 192.168.253.89 GET /graphics/home/logo_head.png 200 45020 http://www.example.com/index.html "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130220 Firefox/17.0"
  4. "2012-03-15 23:01:24" www pp778zr6 0 OR 10.60.108.23 GET /cgi-bin/incorrect_file.html 404 0 - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537 Chrome/26.0.1410.64 Safari/537"

The meanings of each of the sample lines are discussed below:

Line 1

A request was made on March 15, 2012 at 11:01:18 PM UTC for the asset at the URL http://www.example.com.kisocdnb.net/pics/products/DSCN00049.jpg. The server responded with the status code 200 (success) and delivered 285,474 bytes of data from the CDN cache. The request was referred by http://www.example.com/products/super_widget.html, and the client made the request using Internet Explorer 9 running on Windows 7.

Line 2

A request was made on March 15, 2012 at 11:01:20 PM UTC for the asset at the URL http://pp778zr6.kisocdnb.net/pics/products/DSCN00667.jpg. The server responded with the status code 200 (success) and delivered 108,822 bytes of data from the origin via the CDN cache. The request was referred by http://www.example.com/products/amazing_wathcha.html, and the client made the request using FireFox 20 running on Windows 7.

Line 3

A request was made on March 15, 2012 at 11:01:23 PM UTC for the asset at the URL http://example.com.kisocdnb.net/graphics/home/logo_head.png. The server responded with the status code 200 (success) and delivered 45,020 bytes of data from the CDN cache as the content was being downloaded from the origin. The request was referred by http://www.example.com/index.html, and the client made the request using FireFox 17 running on a Linux distribution.

Line 4

A request was made on March 15, 2012 at 11:01:24 PM UTC for the asset at the URL http://www.example.com.kisocdnb.net/cgi-bin/incorrect_file.html. The server responded with the status code 404 (file not found) and delivered no data. The request had no referrer, and the client made the request using Google Chrome 26 running on Windows XP.