Progressive download is a method of delivering video or audio via HTTP. In the early web, people needed to download audio or video files completely to their local drive before they could watch or listen. The introduction of progressive download meant that only a portion of the file needed to be downloaded before someone could watch a video (or listen to audio).
The way it works is that a browser sends a request via HTTP (using GET) to the server which then begins to send the file. When the video player receives enough of the file to fill a buffer, it will begin playback. While the video is playing, the rest of the video file is downloaded in the background. The buffer is then filled with the more of the file and the video continues to play until the end.
One large downside to this method of streaming is the viewer cannot skip ahead in the video. Since the video file hasn’t been downloaded completely yet, there is no option for skipping. Later incarnations of progressive download did include some modifications that would “trick” the process and allow a user to jump to a future time, but it still meant waiting for the video to download before they could begin playback.
Since the video or audio files are actually downloaded prior to playback, many content creators became concerned because this made it easier for people to copy the content. Generally speaking the file is stored in a temporary location on a computer’s hard drive, but unscrupulous people could access it and make a copy for later viewing or distribution. This is the primary reason content copyright holders prefer to use other methods of streaming in order to prevent this type of piracy.
Progressive downloads also allow viewing of high quality video even on slow network connections. Because the video isn’t played until it is downloaded the quality is assured (at whatever bitrate it was encoded in). However high quality video files are often larger than low quality ones, so a viewer would have to wait longer to see the better video.
Because it relies only on HTTP, content creators don’t need to worry about using streaming servers, monitoring, or controlling network connections. This makes it a very easy method to use, though it doesn’t necessarily suit every need.
Other streaming protocols in use today are Real Time Messaging Protocol (RTMP), Real Time Streaming Protocol (RTSP) and adaptive streaming. These offer different methodologies for streaming that address the weaknesses in progressive downloading.