Fetch Content

A repeating pull mechanism is implemented easily.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<smil>
	<head>
	    <meta http-equiv="Refresh" content="900"/>
	</head>
	<body>
	</body>
</smil>
Playlist will refresh every 15 minutes (900s)

This is for playlist only. There is another mechanism to check continuously for new media content. This is discussed in the section of this tutorial.

How Refresh Request is sent

Digital signage player in a network regularly point to a http-address which has the index. To do this as efficient as possible, there are two types of requests:

  • HEAD-Requests
  • GET-Requests
On each refresh cycle, the player sends HEAD request first.

The HEAD-Request

The HEAD request only asks for the HTTP header with an empty body to save bandwidth and server resources. The server should send an HTTP “Last-Modified:” and a “Content-Length:” header. Due to this information, the player can decide to send a GET-Request to get a new SMIL index or not.

The GET-Request

When Last-Modified or Content-Length indicate there is something new on the server, the player will send a GET-request. The GET will receive the same header information as HEAD, but now together with a body.

Try to make sure the Content-Length returned in HEAD response is the same as GET. Otherwise, some player will keep asking until they are identical.