# Definition
A request header is information sent by a requesting device to a receiving server asking the server to return a particular response. In the world of podcasting this would be a podcast listening app like Apple Podcasts requesting an audio file of a particular episode. There are two types of requests that are especially elevant to podcasting analytics and the primary difference between the two is contained within the request header.
A progressive download made by the requesting device will send a Range: bytes=x-z
request header and a normal download will not.
While certain headers are expected in every request, a requesting device is not limited to a certain a set of allowed headers and can pass arbitrary headers. Apple Podcasts for instance sends an X-Playback-Session-Id
when making a byte-range request. The MDN Web Docs have a much more detailed explanation around what request headers are.
# Examples
# Apple Podcasts (Download)
|
|
# Apple Podcasts (Progressive Download)
|
|
# Spotify (Download)
According to my research, when clicking the “download” icon on the Spotify App (MacOS/iOS), Spotify does not make traditional download requests and instead makes progressive download requests of 10mb chunks until the entire file is downloaded.
# Spotify (Progressive Download)
|
|