How to tell Safari playing video that the video it is playing is not available anymore?

in flag

We're running some nginx servers hosting videos (in an educational institution). The files are stored as mp4s on disk and browsers either keep a TCP connection open and read video data as they need, or close the connection and send the next HTTP range request. The latter is preferably used when users seek in the video.

Range requests works fine as long as the video the browser is playing is still available to the user. Authorization and availability may change, resulting in a 403 or 404 response to a range request, respectively.

We are monitoring our servers and noticed that Apple's Safari won't understand the 403 and 404 response codes. It retries retrieving the next segment of the video in spite it just got a 403 or 404 response, resulting in request floods with 400-ish response codes, which triggers alerts. We'd like to keep the alerts in place because they could indicate a misconfiguration on our side, too.

How can we tell Safari not to send a request flood so we won't get false alerts? We are in theory in control of the web application that's embedding the videos but making changes there usually means more efforts compared to server configuration.

[already reported this to Apple; they didn't respond]

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.