2 votes

Quelle est la longueur optimale d'une demande de plage HTTP ?

J'ai un téléchargeur javascript qui récupère de gros fichiers par de multiples requêtes HTTP :

xhr.setRequestHeader("Range", "bytes=" + start + "-" + end);

alors que la fin est

var end = start + length

La demande de plage est indispensable, car j'ai besoin d'obtenir des décalages spécifiques dans le fichier (pensez à un téléchargement à partir de plusieurs serveurs HTTP). Si le téléchargeur est sur le point de télécharger un fichier de ~100MB en utilisant cette méthode, quelle est la longueur optimale pour un bon débit ?

1voto

Sergiu Dumitriu Points 5959

Je crains qu'il n'y ait pas de réponse simple à votre question. Il existe de nombreux types de connexions, et pour chaque paire client-serveur, la réponse sera différente, en fonction de la latence, de la bande passante, de la qualité de la connexion, de la fréquence des déconnexions, et même de choses plus complexes, puisque dans certaines situations, il peut y avoir une limite au nombre de connexions parallèles, à la taille maximale transférée en une seule requête, etc. Si vous n'êtes intéressé que par un certain type de scénarios, comme une connexion rapide et de qualité à un serveur proche, je dirais que la valeur que vous choisissez n'a pas beaucoup d'importance puisque l'overhead de la connexion est généralement inférieur à un dixième de seconde.

Cela dépend également de ce que vous faites de la réponse ; si vous la chargez en mémoire, tenez compte du fait que vous allez consommer la mémoire d'un ordinateur que vous ne connaissez pas, et supposer que personne ne s'opposera à une consommation supplémentaire de 16 Mo pour un segment est une hypothèse importante.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X