Improve behaviour for byte range requests

Created on 15 March 2024, 9 months ago
Updated 30 March 2024, 9 months ago

Problem/Motivation

As John Spurlock from OP3 points out in a blogpost, Apple's CoreMedia framework is showing some problematic behaviour, causing an under-report of downloads:

When making a request for a given episode, AppleCoreMedia makes two or more HTTP calls: first with a Range header of bytes=0-1, asking for the first two bytes of the file to verify the server supports range requests (these days, most do). It then follows up with one or more HTTP requests for various byte ranges of the file, based on internal heuristics.

👉 The problem for analytics prefixes is that the first bytes=0-1 request is sometimes the only request the prefix will see. That is, AppleCoreMedia sends the subsequent range requests directly to the redirect destination url, bypassing the prefix completely!

Since the podcast_publisher_analytics module's tracker relies on redirects to the audio file, subsequent requests are not caught by the system.

Proposed resolution

Count downloads with an http range header of bytes=0-1

📌 Task
Status

Fixed

Version

1.0

Component

Analytics

Created by

🇦🇹Austria arthur_lorenz Vienna

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024