2010-08-03 21 views
10

J'ai rencontré des problèmes lors de la diffusion de vidéos sur mon serveur de développement, dans Safari mobile. Mon serveur dev ne supporte pas l'en-tête 'Accept-Ranges' et après avoir lu quelques forums, j'ai découvert que c'est peut-être mon problème. Here is an example forum posting saying just that.L'iPhone/iPad Safari nécessite-t-il l'en-tête «Accept-Ranges» pour la vidéo?

Est-ce correct? Est-ce que Safari mobile nécessite l'en-tête Accept-Ranges? Quelqu'un peut-il me signaler à toute la documentation d'Apple indiquant réellement cela?

Merci.

Répondre

14

J'ai trouvé de la documentation d'Apple qui dit qu'elle en a vraiment besoin pour la vidéo.

serveurs HTTP hébergeant des fichiers multimédias pour iOS doivent prendre en charge l'octet portée demandes, qui iOS utilise pour effectuer un accès aléatoire dans la lecture multimédia. (La prise en charge de la gamme d'adresses est également connue sous le nom de support .) La plupart des serveurs HTTP 1.1, mais pas tous, prennent déjà en charge les demandes d'octets .

Si vous n'êtes pas sûr que votre serveur multimédia prend en charge l'octet portée demandes, vous pouvez ouvrir l'application Terminal sous OS X et utilisez l'outil de ligne de commande boucle pour télécharger un court segment d'un fichier sur le serveur :

curl --range 0-99 http://example.com/test.mov -o /dev/null

Si l'outil indique qu'il téléchargé 100 octets, correctement traité la demande de gamme d'octets le serveur multimédia. S'il télécharge le fichier entier, il se peut que vous ayez besoin de mettre à jour le serveur multimédia.

Source: Apple Documentation

0

Le answer above est utile, mais ne répond pas vraiment à la question qui a été posée.

Selon le HTTP RFC, l'en-tête Accept-Ranges est facultatif même lorsque les demandes de gamme d'octets sont prises en charge.

Cependant, la vérification boucle documentée implique que la réponse est pas: iOS ne nécessite pas les Accept-Ranges-tête pour la vidéo, mais ne nécessite un soutien-plage d'octets avec des réponses de contenu partiel (206).

Clause de non-responsabilité: Je ne l'ai pas encore vérifié sur un périphérique réel.

+0

Je l'ai vérifié sur plusieurs périphériques réels - si je désactive la prise en charge de la gamme d'octets sur mon serveur, tout navigateur Safari refusera de lire la vidéo. – Michael

+0

Je pense que cette partie a déjà été établie, mais la question est de savoir si elle nécessite des en-têtes Accept-Ranges (qui ne sont pas requis par la RFC pour que les demandes d'octets puissent fonctionner). – amichair

+0

J'essayais de vous aider avec des tests de périphériques réels, mais OK. – Michael