|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
Salut,
je suis peut être limite border line, mais je voulais savoir si les headers range et location sont compatibles : Code :
Bref, l'idée étant de redirigée vers une partie d'un fichier, et non vers le fichier en entier. Merci d'avance ! ++ |
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
Tu t'es tromper de coté
Code :
header("Location: http://www.google.fr/"); ----------------------------------OUUUUPPSSSSSS---------- OUPSS désolé, c'est moi qui me plante, mais je ne pense pas que Location puisse être compatible avec Content-Range, tout simplement parce que Content Range stipule qu'elles sont les parties du fichier que tu demandes, alors que Location lui, te renvoie ailleurs. D'ailleur HTTP/1.1 206 Partial Content pour Content-Range: et HTTP/1.1 301 Moved pour Location Deux Headers totalement différent... |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
Salut juJuv,
J'avais en tête ces mêmes commentaires, mais n'étant pas, j'ai sollicité un regard extérieur. Dommage que ça ne puisse pas fonctionner |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
Tu veux faire quoi exactement?
si tu veux faire une sorte de substitue aux streaming, je te souhaite bonne chance. (je pense que c'est tout de mêmes possible) Il faut envoyer directement les requêtes HTTP aux serveur sur lequel tu veux prendre une parti du fichier... |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
Grâce à tes indications sur mon post précédent, je peux streamer un fichier distant : le serveur Web va chercher les parties distantes et les renvoie au client. Dans ce cas, c'est le serveur Web qui renvoie les données.
Pour aller plus loin, l'idéal serait que ce soit le serveur distant (celui qui héberge le fichier) qui renvoit directement les parties demandées au client. Moins d'intermédaire et plus de SPOF (Single Point Of Failure) ou presque. Tu vois ce que je veux dire ? |
|
|
00
|
|
|
#6 | ||
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
ouais
c'est simple, tu récupères les partis et tu les affiches directement, comme si tu faisait un fopen classique, sauf qu'ici, tu n'as juste qu'à afficher les partis télécharger par ton intermédiaire. Il faut juste que tu penses au header qui force le téléchargement. Code :
|
||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
oui, mais dans ce cas, c'est le serveur auquel accède le client qui renvoit le fichier, non ?
Imaginons : Client (C) -> Serveur 1 (S1) -> Serveur 2(S2). C demande une partie à S1. S1 transfert la demande à S2. S2 renvoit la partie en question (S1 ne fait donc plus rien). avec fopen, je retombe sur le problème du fseek sur fichier distant (j'espère pas dire n'importe quoi) |
|
|
00
|
|
|
#8 | ||
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
non
Code :
|
||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
Alors effectivement, plus de problème de seek (well done), mais c'est bien S1 qui renvoit le fichier, pas S2.
|
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
C'est le client qui demande à S1 de prendre sur S2
|
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
oui, on est d'accord
mais comme tu le disais plus bas, je ne suis pas sur qu'il y ait de solution. ++ |
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
tu veux que le client demande a S1 d'envoyé sur S2? je comprend plus tellement ce que tu veux?
tu peux faire un court descriptif de ton projet ou de l'objectif final du script que tu voudrais? |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
Les hypothèses sont les suivantes :
C est un client (navigateur Web) S1 est un serveur HTTP + PHP (je suis admin dessus) S2 est un serveur HTTP 1.1 (j'ai juste les droits de déposer des fichiers dessus). - C se connect à S1 qui gère la couche applicative - S1 sait que le fichier demandé est sur S2. - A ce niveau, l'idéal serait que S2 réponde directement à C en renvoyant la partie du fichier concerné. Autrement dit, plus de trafic entre C et S1 (qui a joué un rôle d'intermédiaire) |
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
à non, ça c'est pas possible,
si tu veux télécharger des partis directement sur le S2, le client peut utilisé un programme tel que FlashGet, ou alors installé EasyPHP pour y installé le script directement... Je pense que c'est les seuls moyen pour ne plus à avoir à passé par S1. (ou alors un truc plus complexe, mais je sais pas si c'est possible, d'usurper plus ou moins les requêtes de C et de S2 pour les mettre en synchronisation, mais ça, c'est pure théorie je pense et probablement impossible (non, c'est pas possible, en faite...)) Je pense que l'intermédiaire est pas forcement un mauvaise chose (proxy) |
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
oauip, je partage ton point de vue.
ç |
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 52 ![]() |
oauip, je partage ton point de vue.
Dom, ça aurait été la cerise sur le gâteau. Encore merci ! |
|
|
00
|
|
|
#17 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
de rien
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com