3 votes

Quels sont les composants d'une URL HTTP et quel rôle jouent-ils dans une requête HTTP ?

Étant donné ce lien: http://clk.tradedoubler.com/click?p=113177&a=89693&g=189788889&url=http://track.adform.net/C/?bn=8997990;cpdir=http://www.tele2.se/mobilt-bredband.html?utm_source=tradedoubler&utm_medium=Affiliate&utm_campaign=Omnitel_Tradedoubler

Tout d'abord, le navigateur envoie une requête à http://clk.tradedoubler.com/click?p=113177&a=89693&g=189788889

&url= fonctionne un peu comme un paramètre de requête de redirection et redirige vers une autre URL distante:

http://track.adform.net/C/?bn=8997990;cpdir=http://www.tele2.se/mobilt-bredband.html?utm_source=tradedoubler&utm_medium=Affiliate&utm_campaign=Omnitel_Tradedoubler

Dans cette URL, le paramètre de requête ;cpdir= fonctionne également comme un paramètre de requête de redirection et redirige vers:

http://www.tele2.se/mobilt-bredband.html?utm_source=tradedoubler&utm_medium=Affiliate&utm_campaign=Omnitel_Tradedoubler

Tous ces paramètres sont ajoutés préfixés au reste de la chaîne de requête, dont la signification m'échappe: ?utm_source=tradedoubler&utm_medium=Affiliate&utm_campaign=Omnitel_Tradedoubler

Quelle est la différence entre &url= et ;cpdir= ?

6voto

Giuseppe R Points 1325

Votre analyse est incorrecte. Ce n'est pas une "sorte de redirection". En guise de parenthèse : chaque ligne horizontale dans cette réponse indique un saut dans mon hypothèse de vos connaissances : je commence par le plus basique et passe à des sujets plus avancés avec chaque ligne horizontale successive.

Utilisez un outil logiciel tel que Burp Proxy or WebScarab. Ce sont normalement des outils de test de sécurité, mais vous essayez d'apprendre des concepts très simples liés aux URLs and HTTP, et ces outils peuvent vous aider à apprendre par l'expérience. Configurez l'un de ces proxies pour intercepter les URLs dans votre navigateur web. Le plus facile à utiliser à cette fin est Mozilla Firefox, et vous pouvez installer une extension de commutation de proxy telle que FoxyProxy Standard.

Ce qu'il se passe réellement lorsque vous suivez le lien original dans votre post est que votre navigateur web :

où les informations ... sont remplacées par les champs pertinents.


Pour comprendre la signification de ceci, vous devez comprendre ce que cela signifie de faire une Requête HTTP. C'est exactement ce qui se passe.

L'URL est déconstruite de telle sorte que l'intégralité de la chaîne de requête d'URL, à l'exception de la partie http://domain.com, est envoyée au serveur distant.

Maintenant, ce que vous devez réaliser est que le serveur distant peut faire ce qu'il veut de ces informations. Il n'est pas obligé de FAIRE QUOI QUE CE SOIT avec. Il peut, parmi d'autres possibilités infinies :

  • Ignorer l'information
  • Envoyer une requête HTTP aux URL(s) spécifiées dans les paramètres de la chaîne de requête
  • Envoyer une Réponse HTTP à votre ordinateur indiquant une redirection vers l'une des URL(s) de la chaîne de requête
  • Enregistrer l'information dans une base de données
  • Appeler le Président des États-Unis et lire l'URL en utilisant un lecteur de texte
  • Utiliser les entrées de la chaîne de requête comme générateur de nombres aléatoires pour déterminer quelles lettres sortir dans les boîtes de Soupe Alphabet de Campbell lors de leur production en ligne
  • Et ainsi de suite...

Le &url=http://... est simplement une partie de la chaîne de requête qui est envoyée à clk.tradedoubler.com. Pour savoir ce que ce serveur fait avec cette chaîne de requête, vous devriez voir le code source du logiciel qui traite ces informations sur les serveurs clk.tradedoubler.com. Ce que vous pouvez faire d'un point de vue "boîte noire" est d'observer la Réponse HTTP (s'il y en a une) que votre navigateur reçoit de clk.tradedoubler.com après avoir envoyé cette Requête HTTP. Pour ce faire, je vous renvoie à ma suggestion ci-dessus d'utiliser Burp ou WebScarab.

Mais vous ne devriez pas supposer, en général, que le serveur distant fait quelque chose en particulier avec les informations qui lui sont transmises dans un paramètre de chaîne de requête. Vous devriez plutôt supposer qu'il fait probablement la pire chose possible qu'il puisse concevoir – penser de cette façon vous aidera au moins à repérer d'éventuelles menaces qu'il pourrait représenter pour vos informations personnelles.


Une fois que vous aurez compris ces concepts de base, vous pourrez commencer à apprendre ce que cette URL fait réellement. Il est assez évident qu'il s'agit d'un système de publicité web. Le utm fait référence au Module de Suivi de Urchin qui a été intégré (au moins dans son API ; pour le backend, qui sait) dans le système Google AdWords. Donc, à un niveau minimum, vous pouvez supposer en toute sécurité que cette requête essaie de stocker des informations sur vos habitudes de navigation web pour vous servir des publicités pertinentes.


Concernant cette question distincte :

Quelle est la différence entre &url= et ;cpdir=?

&url= est le début d'un paramètre de chaîne de requête nommé url dont le délimiteur est &.

;cpdir= est le début d'un paramètre de chaîne de requête nommé cpdir dont le délimiteur est ;. Le délimiteur utilisé dans l'URL intégré est ; mais est fonctionnellement équivalent à &. La raison de son utilisation est que, si & était utilisé, cela confondrait le serveur HTTP analysant l'URL d'origine en pensant que tout ce qui suit le & commençait le nom d'un nouveau paramètre d'URL de l'URL externe.

C'est comme l'un de ces problèmes de type poupée Matryoshka, où vous avez une URL à l'intérieur d'une URL à l'intérieur d'une URL. Vous avez besoin d'un moyen d'empêcher le serveur HTTP qui reçoit l'URL "externe" d'interpréter les paramètres passés aux URL internes comme des paramètres appartenant à l'URL externe. C'est pourquoi le passage de & à ;. Pour plus d'informations sur le formatage et la syntaxe d'une chaîne de requête, consultez l'entrée de Wikipédia sur la Chaîne de Requête.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X