|
Dernière réponse | ||
---|---|---|
Sujet : [HTTP] Différencier GET primaire de GET de dépendance | ||
youdontcare |
la même chose qu'une frame, sauf qu'elle peut tenir dans un rectangle n'importe où sur l'écran et peut avoir n'importe quelle taille. |
Aperçu |
---|
Vue Rapide de la discussion |
---|
youdontcare |
la même chose qu'une frame, sauf qu'elle peut tenir dans un rectangle n'importe où sur l'écran et peut avoir n'importe quelle taille. |
darklord22 |
|
darklord22 |
|
youdontcare | haaaaaa ... sois un peu plus explicite, bon sang ! ie, pose ta question en disant que c'est pour faire un replay webconf plutôt que vraiment trouver la différence entre un get primaire / get dépendance.
pour le content type, ça dépend du serveur ou du module. un serveur 'moderne' mettra le champ, php le met par défaut, je suppose que jsp & perl le font aussi. non, y'a pas plus propre. les standards c'est bien beau mais chacun fait sa cuisine. j'ai implémenté un client ftp, entre la spec et les serveurs, y'a de la marge. pareil pour le data sniffing, c'est ce que fait ie en interne pour savoir comment se débrouiller. pour les frames, ça ne devrait pas être insurmontable - en analysant les pages et en créant des structures sur qui pointe vers quoi, tu devrais t'en sortir sans trop de problèmes. |
darklord22 |
|
youdontcare | je dubite ... :heink:
si j'ai bien compris, tu dois créer un filtre pour un proxy afin de déterminer quelles pages ton prof visite pendant sa présentation, ceci afin de pouvoir rejouer la présentation plus tard avec l'enregistrement de la voix du prof. c'est ça ? donc en gros il suffit de comptabiliser uniquement les requêtes qui renvoient un html. pour chaque requête, tu peux accéder à l'url. si elle se termine en .html ou .htm, tu la ranges dans un coin. si c'est autre chose (.gif .jpeg .phtml .php .etc) tu cherches dans les headers le champ Content-Type: text/html qui t'indiquera si c'est ... du texte. si le champ n'est pas présent, tu peux faire du 'data sniffing', ie tester si c'est du texte - bourrin, tu prends par ex les 64 premiers k du fichier - s'il y a un zéro (ou des caractères comme 1, 2, ...), ce n'est pas du texte. si c'est du texte, tu ranges l'url. maintenant, tu as un tableau qui contient les urls avec leur temps (ie tab[0].url = 'www.site.com/slide1.php', tab[0].time = '16:35.20'. c'est fini ! où est le problème ? ok, il reste la possibilité des frame et des iframe. ce n'est pas insurmontable, mais j'aimerai d'abord comprendre ce qui te bloque tant ... |
darklord22 |
|
Mara's dad | J'ai entendu parler de çà pour OPERA . . .
Mais c'est difficile de compter la dessus. Il suffit d'un navigateur qui ne permet pas de supprimer le REFERER pour que çà ne marche plus. |
darklord22 |
|
Mara's dad | Benou propose aussi de modifier les pages...
Si c'est pas possible, alors y'a pas de solution, car comme je l'ai dit, si ton prof clic sur un lien "Slide Suivant", dans ce cas, c'est le navigateur qui fait le GET, et il n'y aurra pas de moyen de le différencier d'un GET d'une frame ou d'une image ! |
darklord22 | le prof peut surfer ou il veut. Il n'y a pas de restrictions. Un prof peut très bien surfer sur le site de doc de Cisco qd il donne un cours réseau.
Donc comme je l'ai déjà dit je ne peux pas modifier les liens. Benou pour ton idée j'ai pas compris ... Merci :hello: |
Mara's dad | Dans le même genre :
Ton prof, il ne passe pas sont temps à taper des URLS (et en plus quand il le fait, il me semble que le REFERER est vide et que tu traite déjà ce cas) il doit cliquer sur des liens genre "Slide Suivant". Donc l'idée est de mettre un bout de Javascript sur les liens pour faire un GET sur une URL bricolée que ton proxy reconnaitrait mais qui serait quand même valide. Genre au lieu de : http://www.monsite.com/slide1.htm le javascript ferait : http://www.monsite.com/slide1.htm?proxy=1 ou HTTP://www.monsite.com/slide1.htm Ou bien encore avec un cookie dont la valeur est modifiée par le javascript. Mais là, je connais pas trop la gestion des cookies en JS... [edtdd]--Message édité par Mara's dad--[/edtdd] |
benou | j'en pense que des que tu vas avoir ds pages avec un peu de javascript ca marchera plus : si l'accès à une page est faite dans un script tu ne seras pas capable de trouver l'url de la page appelée.
je viens de penser à un truc : pourquoi ne pas utiliser le onUnLoad (si je me souvies bien) : c'est executé lorsq'on quite un document (changement de page ou fermeture du browser). Tu pourrais par exemple faire que ta page contienne une frame invisible et sur le onUnLoad, tu modifies le location de la frame invisible => ca fait un appel au serveur => ca passe par ton proxy => tu peux savoir combien de temps la gars à passé sur la page : (temps entre la requête et la requête due au onUnLoad) C'est pas une bonne idée, ca ? |
darklord22 | Ok j'ai une autre solution. Comme la charge de travail n'est pas trop lourde (c'est pas du surf intensif) j'ai une autre idée:
Supposez qu'on est en plein surf. Le prog connait le ROOT courant. Lorsqu'un ROOT est déterminé le fichier HTML est parsé pour contenir: L'ensemble des URL dans les balises SRC L'ensemble des URs dans les balises href + frame src Lorqu'un fichier arrive, il suffit de regarder si il est dans SRC (dependance) ou href (nouveau root puisque c'est un lien) Z'en pensez quoi? |
darklord22 |
|
LeGreg | peut-etre en faisant un systeme base sur les temps de reponse justement: le navigateur qui charge les images les charge des qu'il trouve le lien sur la page tandis que le prof va attendre que la page s'affiche avant de cliquer sur des liens. mais bon y'a parfois des profs impatients ou des images et des pages qui mettent longtemps a se charger.. peut-etre y a-t-il aussi des infos a prendre dans le champ accept: Sinon je crois que le referer est vide quand l'utilisateur a entre l'url a la main ou a clique sur ses favoris. LEGREG |
darklord22 |
|
darklord22 |
|
LeGreg | ce que j'avais pas compris au depart (mais tu aurais du detailler tout ton pb au depart parce que c'est loin d'etre clair) c'est que ton prof fait ses requetes depuis un navigateur..
Par contre je vois pas ce que tu appelles requetes volontaires et les autres? sauf si y'a du javascript toute requete est volontaire non? LEGREG |
benou | mais si le prof ferme son navigateur, tu ne resevra jamais de "requete suivante" ... pas évidant de connaitre le temps passé dessus ...
est ce que tu as un nomber limité de pages dont tu veux connaître le temps de visionage ? est ce que tu peux modifier le code de ces pages ? |
darklord22 |
|
darklord22 |
|
benou | donc tu estimes le temps passé sur une page en comptant le temps entre la requêtes sur la page et la requete "volontaire" suivante vers une autre page.
c'est ca ? |
LeGreg |
|
darklord22 |
|
LeGreg |
|
youdontcare |
et comment détermines-tu le temps passé sur une page ? quand je surfe je garde souvent la page principale ouverte et j'ouvre les liens dans une autre fenêtre ... |
darklord22 |
|
kizkoool | Je comprend pas trop à quoi ça peut bien te servir au final de faire la distinction des get.
Tu peux nous en dire plus la dessus ? |
LeGreg |
|
benou |
|
darklord22 | Bon je recommence ...
Je voudrais simplement créer une logique sans faille qui me permette de différencier un GET fait par l'humain d'un GET fais par le browser. Exemple : le prof fait un GET www.monsite.com Le browser fait des GET sur /images/monsiteWelcome.jpg /frame/leftframe.html /frame/menu.html /style/common.css /script.js J'utilise un proxy du W3C qui me permet d'écrire des filtres. Ce filtre est appellé: 1) Lorsqu'une requete arrive dans le proxy (par exemple GET /frame/menu.html) 2) Lorsqu'une réponse rentre dans le proxy (par exemple HTTP/1.1 200 OK .... Alors ... Une idée. Sachant que le prof peut visitier n'importe quel site. Eventuellement, on peut modifier le client mais bon c'est déjà genant. Merci a+ |
darklord22 |
|
benou | pkoi ne pas mettre un paramètre en UTL à chacun des liens ? |
darklord22 |
|
youdontcare | pour ça, chopper un packet sniffer, par ex : http://netgroup-serv.polito.it/analyzer/
tu verras tout ce qui se passe entre ton browser et le serveur. pour ton GET, ça peut venir de plusieurs trucs - problème de majuscule, oubli des deux retours à la ligne à la fin, absence du champ Host: si tu bosses en HTTP/1.1 (ou même avec certains serveurs), absence du champ User-Agent, oubli du http:// dans le referer, etc ..... solution -> sniffer ce que fait le browser et envoyer la même chose. |
darklord22 |
|
LeGreg | la rfc HTTP:
http://www.w3.org/Protocols/HTTP/1.1/rfc2616.pdf ou http://www.w3.org/Protocols/ A+ LEGREG |
darklord22 | Salut,
Je suis en train de développer un outil d'e-learning et j'utilise JigSaw, un proxy open source Java. J'aimerai bien faire la différence entre un GET fait par le prof (par exemple /cours/01-02/Slides1.html) et un GET fait par le browser (par exemple /cours/01-02/gif/slides1.gif). Actuellement j'utilise l'header REFERER mais ca ne marche pas toujours ... Quelqu'un a une meilleure idée? Y a t il un site qui donne la liste des headers d'un entete HTTP de réponse ou de requete. Thanks :hello: |