web-dev-qa-db-fra.com

Comment empêcher les fournisseurs de services Internet d'empêcher les téléchargements de fichiers en cours de transfert?

Je gère un petit site Web avec quelques utilisateurs, à faible trafic, principalement pour partager des fichiers MP3 personnels avec une petite communauté.

En fonction de leur fournisseur d'accès, les utilisateurs ne peuvent pas toujours télécharger ou diffuser des fichiers plus volumineux. J'entends par plus grand que 1 Mo. Essentiellement, l'hôte cesse d'envoyer ou le client cesse de recevoir. Un des liens de la chaîne de connexion termine simplement sa connexion avant la fin du transfert.

Trace-route ne montre aucun problème de connexion. Il n’ya pas de problèmes de connexion avec des transferts courts qui ne prennent pas plus de quelques secondes. Ce sont ces 10 secondes de transferts qui finissent par se terminer.

Faire juste un téléchargement direct avec un lien direct peut générer cette erreur si vous avez le mauvais fournisseur de services Internet.

Curieusement, cela se produit le plus souvent chez les utilisateurs de FAI qui sont essentiellement des fournisseurs indépendants qui achètent des services via une liaison par fibre optique. Malheureusement, ces fournisseurs ne sont pas très compétents, ne peuvent effectuer aucun test et insistent pour dire que c'est un problème avec l'hôte.

J'ai demandé à mon hôte de transférer mon site sur différents serveurs, au même effet. Des sites presque identiques (sites affiliés en fait) ne rencontrent aucun problème de ce type.

Que puis-je faire pour continuer à résoudre ce problème? Comment puis-je prouver que quelqu'un laisse tomber la balle et identifier qui est cette partie? Puis-je faire un traceroute de 5 Mo?

EDIT

Peut-être que je peux éclaircir certaines idées fausses avec ma question:

  1. Les fichiers ne sont pas très volumineux . Ils ont tout simplement plus de 2Mb.
  2. Les utilisateurs ne disposent pas de connexions "lentes", ils ont au moins 5 Mbps.
  3. Ce "time out" se produit très rapidement, en l'espace de 5 secondes, donc je ne sais pas s'il s'agit d'un délai ou non. L'utilisateur obtient souvent 1 ou 2 Mo dans ce laps de temps.
  4. J'ai essayé le streaming avec un lecteur flash.
  5. J'ai essayé de sauver la cible. Forcer le téléchargement.
  6. J'ai essayé de permettre au navigateur de diffuser le fichier en streaming.
  7. J'ai essayé différents navigateurs (FF, IE, Chrome).
  8. Les utilisateurs peuvent télécharger des fichiers identiques sur des hôtes différents.
3
Gorchestopher H

Cela peut très bien être un problème des deux côtés, mais le téléchargement d’un fichier volumineux avec une connexion lente (c’est-à-dire un lien direct) peut entraîner un délai d’attente d’un côté ou de l’autre. Vous dites ci-dessus qu'il ne s'agit pas d'un problème de diffusion en continu, mais vous ne diffusez rien en ce moment.

Je peux penser à deux choses qui pourraient aider. La première (et probablement la meilleure) option consiste à activer la diffusion en continu sur HTTP via l'utilisation d'un lecteur multimédia tel que l'excellent et simple à implémenter JW Player . Cela changera le comportement du téléchargement direct au flux fragmenté avec la mise en mémoire tampon. Les plus petits morceaux devraient garantir une connexion fluide, même pour les utilisateurs à bande passante réduite.

La deuxième option consiste à vérifier vos types MIME pour vous assurer qu'ils sont optimisés pour forcer le téléchargement des fichiers multimédias et non pour essayer de les lire ou de les diffuser sans l'infrastructure appropriée. J'ai constaté que le moyen le plus simple d'y parvenir est de compresser les fichiers multimédias avant (ou après, via un script) de télécharger et de créer un lien vers les fichiers Zip. Les types et navigateurs MIME sont presque toujours configurés pour forcer le téléchargement d'un fichier Zip, ce qui peut fonctionner mieux pour vos utilisateurs.

Néanmoins, je voudrais d'abord ajouter du streaming sur HTTP.

1
JCL1178