A machine implemented method comprising: requesting from a server, with a client device, a playlist file, for a program, over a network using a transfer protocol, wherein the requesting specifies at least one compression protocol; receiving from the server, with the client device, the playlist file which is compressed according to the at least one compression protocol, the playlist file having Uniform Resource Identifiers, URIs, indicating a plurality of media files and a plurality of tags having parameters related to playback of the plurality of media files and decompressing, with the client device, the playlist file, wherein the playlist file contains a tag having a target duration value that is equal to, or greater than, the duration of each of the plurality of media files; using the transfer protocol, requesting from the server one or more of the media files in an order indicated by the requested playlist file; receiving from the server the one or more requested media files over the network using the transfer protocol; determining, with the client device, whether the playlist file includes a tag in the playlist file, which indicates that no more media files will be added to the playlist file; requesting from the server, with the client device, an updated playlist file for the program, the requesting specifying the at least one compression protocol, wherein the requesting of the updated playlist file is in response to determining that the tag, which indicates that no more media files will be added to the playlist file, is not included in the playlist file, and wherein the target duration in the playlist is used by the client device to determine a timing for requesting the updated playlist from the server, and the timing is not later than three times the target duration; receiving from the server, with the client device, the updated playlist file in a compressed format and decompressing the updated playlist file which includes the URIs for the media files in the playlist file and new URIs for the new media files not in the playlist file, wherein the client device uses the playlist file before receiving the updated playlist file, wherein the duration of the updated playlist file is the sum of the durations of the media files referenced in the updated playlist, and the duration of the updated playlist file is at least three times the target duration when the playlist file does not contain the tag which indicates that no more media files will be added to the playlist file. requesting from a server, with a client device, a playlist file, for a program, over a network using a transfer protocol, wherein the requesting specifies at least one compression protocol; receiving from the server, with the client device, the playlist file which is compressed according to the at least one compression protocol, the playlist file having Uniform Resource Identifiers, URIs, indicating a plurality of media files and a plurality of tags having parameters related to playback of the plurality of media files and decompressing, with the client device, the playlist file, wherein the playlist file contains a tag having a target duration value that is equal to, or greater than, the duration of each of the plurality of media files; using the transfer protocol, requesting from the server one or more of the media files in an order indicated by the requested playlist file; receiving from the server the one or more requested media files over the network using the transfer protocol; determining, with the client device, whether the playlist file includes a tag in the playlist file, which indicates that no more media files will be added to the playlist file; requesting from the server, with the client device, an updated playlist file for the program, the requesting specifying the at least one compression protocol, wherein the requesting of the updated playlist file is in response to determining that the tag, which indicates that no more media files will be added to the playlist file, is not included in the playlist file, and wherein the target duration in the playlist is used by the client device to determine a timing for requesting the updated playlist from the server, and the timing is not later than three times the target duration; receiving from the server, with the client device, the updated playlist file in a compressed format and decompressing the updated playlist file which includes the URIs for the media files in the playlist file and new URIs for the new media files not in the playlist file, wherein the client device uses the playlist file before receiving the updated playlist file, wherein the duration of the updated playlist file is the sum of the durations of the media files referenced in the updated playlist, and the duration of the updated playlist file is at least three times the target duration when the playlist file does not contain the tag which indicates that no more media files will be added to the playlist file.