Journal Le protocole Jabber N'est PAS une surcouche du protocole HTTP

Posté par  .
Étiquettes : aucune
0
31
mai
2005
Je le lis de temps en temps sur les commentaires de ce site (désolé, pas de références), de même que sur IRC et dans la vraie vie (je me répète). C'est parfaitement faux.

Jabber est un ensemble de technologies, dont le protocole de base, XMPP, et les extensions, les JEP.

Je vous invite à lire http://www.ietf.org/rfc/rfc3920.txt(...) document qui définit les fondements de XMPP. Voici une traduction approximative de la section 4.2 :

4.2. Associer au TCP

Bien qu'il ne soit pas nécessaire d'associer un flux XML à une connexion TCP (par exemple, deux entités peuvent être reliées via un autre mécanisme comme un "polling HTTP"), ces spécifications définissent un encapsulage du XMPP dans le TCP uniquement. Dans le contexte de communications client-à-serveur, un serveur DOIT permettre à un client de partager une seule connexion TCP pour les stanzas XML envoyés du client au serveur et du serveur au client. Dans le contexte de communications serveur-à-serveur, un serveur DOIT utiliser une connexion TCP pour les stanzas XML envoyés par le serveur au pair et une autre connexion TCP (initiée par le pair) pour les stanzas envoyés par le pair au serveur, pour un total de deux connexions TCP.


Cependant, pour passer outre l'extrême majorité des firewalls, il existe une JEP officieuse (aujourd'hui intégrée au site officiel dans la section "Historical JEP") : http://www.jabber.org/jeps/jep-0025.html(...) qui définit justement le "polling HTTP".

On voit bien ici l'intérêt d'un protocole de messagerie instantanée ouvert, et surtout extensible : les spécifications de base permettent d'écrire un client (y compris un "bot") très facilement, et un ensemble de fonctionnalités supplémentaires augmentent les possibilités.
  • # Commentaire supprimé

    Posté par  . Évalué à 10.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # La réponse qui tue :

      Posté par  . Évalué à 7.

      Peut-être que les gens qui s'étaient trompés (au départ, j'ai réagi ici car une conversation était archivée) sauront maintenant que Jabber n'a pas grand chose à voir avec le HTTP. Voilà, ce journal avait pour but d'informer les gens, mais aussi je l'avoue de me détendre : j'en ai marre de lire des gens qui ne connaissent pas grand chose à ces technologies faire de fausses explications. Je préfère citer.
      • [^] # Re: La réponse qui tue :

        Posté par  (site web personnel) . Évalué à 1.

        Ce serait bien qu'on puisse répondre aux discussions archivées ...
        • [^] # Re: La réponse qui tue :

          Posté par  (site web personnel) . Évalué à 2.

          Oui je trouve aussi, mais le probleme c'est que dans ce cas il y aurais pas mal d'abus ( pub pour google etc...)

          J'ai pensé à 2 solutions:
          -Les reponses apres archivages cachées (moinssage virtuel)
          -Il y a un systeme pour voir, sur une certaine page, les news remonter.

          Faudrais que je le propose dans le systeme de suivi mais j'ai la flemme :)
  • # Ouahou

    Posté par  . Évalué à -8.

    Super :)
    • [^] # Re: Ouahou

      Posté par  . Évalué à 10.

      Eh oui, ça existe des journaux non polémiques, qui ne posent pas de questions (donc on va pas leur dire d'aller dans les forums), et qui ne parlent pas du TCE.... étonnant non ?
    • [^] # Re: Ouahou

      Posté par  . Évalué à 5.

      Ben oui, super...

      C'est vrai qu'avec tous ces journaux sur le TCE, on a un peu perdu l'habitude de voir des journaux "techniques".
      Et c'est intéressant en plus : personnellement, je ne savais pas (ou plutôt, je n'avais jamais cherché à savoir...) ce qu'était vraiment XMPP. Ce soir, je me coucherai moins ignorant :)
  • # Par contre...

    Posté par  (site web personnel, Mastodon) . Évalué à 6.

    Si qqn entend un jour parler d'un mod_jabber pour apache2 qui permet de faire tourner jabber sur le port 80 tout en ayant un serveur web, je suis ultra-preneur pour fritalk !!!!

    Mes livres CC By-SA : https://ploum.net/livres.html

    • [^] # Re: Par contre...

      Posté par  . Évalué à 4.

      Qu'est-ce que tu entends par faire tourner Jabber sur le port 80 ? Si tu veux pouvoir accéder directement à XMPP et Apache, il me parait évident que c'est impossible. Je vois mal comment l'OS peut savoir à qui transmettre la requête de connexion entrante.

      Par contre, pour le HTTP polling, c'est OK : voir http://jabber.apinc.org/faq.php(...) . Ça tourne sur un Apache/1.3.31. Pour le fonctionnement exact, le mieux est sûrement de se renseigner auprès de Lucas Nussbaum. En fait, le port 80 est utilisé par Apache, mais les requêtes sur une certaine URL déclenchent un système de transmission au serveur Jabber. On peut considérer que c'est un mod_jabber.
      • [^] # Re: Par contre...

        Posté par  . Évalué à 2.

        M'enfin les trucs existant fonctionne plus comme un cgi qu'un modd_jabber.

        Sinon a cote du http polling, il y a le http binding....

        http://punjab.sourceforge.net/(...) a l'air d'une implementation prometeuse (toneru etait assez bugge, mais une nouvelle version devrait sortir).
      • [^] # Re: Par contre...

        Posté par  . Évalué à 2.

        C'est moi qui ai parle d'un mod_jabber pour Apache2 dans le forum, je me doutais que ca risquait d'arriver sur ce journal :)

        La chose a savoir c'est qu'apache2 a une architecture tres tres modulaire et on peut avoir un module qui intervient avant meme la gestion HTTP d'Apache. Le but serait donc de placer le module a cet endroit precis et, s'il s'agit bien d'un flux XMPP, le gerer. Dans le cas contraire, on le laisserait passer pour les handlers suivants (HTTP en particulier). Ce ne serait pas un CGI mais bien un module a proprement parler. Voir le module mod_echo pour se faire une idee.

        C'est du theorique, je ne suis absolument certain que ce soit completement faisable, mais j'ai envie de voir (et je ne suis pas le premier, on trouve des references a ce projet qui datent de 2001). Certains ont aussi essaye de faire passer du POP3.

        Probleme pour le moment, je ne connais pas du tout les serveurs jabber d'un point de vue interne, et mon experience en matiere de modules apache se limite pour le moment a des choses purement HTTP.
    • [^] # Ne pas se demander ce que jabber peut faire pour nous mais... blablabla

      Posté par  (site web personnel) . Évalué à 5.

      Hormis la création et le tuning de serveur, je me pose une question depuis quelques mois qui est : que peut-on faire pour jabber, le protocole en lui même j'entends.

      Il y a des nombreux jep en attente, j'ai l'impression que tout a plus ou moins été proposé pour correspondre aux attentes pro, perso, geek, kikoolol concernant jabber : les émoticônes/genicônes personalisés ( http://www.theoretic.com/projects/icon-styles(...) ) les flux multimedia ( JEP media streams dans jabber (expérimental) :
      http://delta.affinix.com/specs/jep-media.html(...)
      JEP streaming
      http://delta.affinix.com/specs/jep-rtsp.html(...) ) les jeux, les tableaux blancs les tic tac toe, les avatars (en train d'être validé je crois)

      Bref, on ne peut pas dire cette fois : "tu veux contribuer ? code..." puisque comme on peut le lire ici, à propos des jep media streams : http://mail.jabber.org/pipermail/standards-jig/2005-February/007098(...)
      They're probably ready enough to submit. As I mentioned in an earlier mail,
      the reason I haven't done this yet is because I already have some other JEPs
      in the council queue and I didn't want to cause overload

      Et ce n'est qu'un exemple parmis d'autres (qui date un peu certes). En résumé, il faut attendre la validation par la JSF. Donc on ne peut rien faire qu'attendre, attendre qu'une petite info soit balancée sur jabber.org ou se taper la mailing-liste. Inutile de proposer de JEP, ça ne ferait que surcharger. Jabber (comme les standards d'une manière plus générale) c'est comme la construction européenne : on y croit, on est pour, mais on a l'impression de ne pas être écouté et de ne servir à rien...

      Je ne dis pas que PSA et les autres ne font rien, bien au contraire, mais la communication "grand public" est proche du zéro kelvin. Le bouche à oreille, c'est bien pour le festival d'avignon, mais là c'est une envergure un peu plus large.
      Pendant ce temps, on recoit des questionnaires de Microsoft : "qu'attendez vous de windows messenger, msn etc..."
      • [^] # Re: Ne pas se demander ce que jabber peut faire pour nous mais... blabla

        Posté par  . Évalué à 3.

        C'est interessant, mais je crois que ca ne repond pas a la question posee par ploum (ce n'est pas une critique, je suppose que tu ecrivais quand j'ai poste mon explication juste au-dessus). Comme je l'ai ecrit, l'objectif n'est pas de modifier quoi que ce soit a la norme, mais plus ou moins "proposer un nouveau serveur"* qui utilise l'infrastructure d'Apache2 et qui permettrait d'avoir du HTTP et du XMPP sur le meme port.

        En l'occurence, ce que ca ettend c'est que je retrousse mes manches et que je m'y mette.

        *Important, notez les guillemets. Mon but n'est pas de coder un serveur from scratch mais d'utiliser l'existant.

        Faut que j'arrete d'en parler, je vais etre oblige de m'y mettre serieusement... :P
      • [^] # Re: Ne pas se demander ce que jabber peut faire pour nous mais... blabla

        Posté par  (site web personnel, Mastodon) . Évalué à 4.

        Si, tu peux coder ... coté client !

        Il y a beaucoup de JEP qui n'ont pas encore d'implémententation.
        Rien ne t'empêche non plus de coder les JEPs encore expérimentaux.

        Mes livres CC By-SA : https://ploum.net/livres.html

    • [^] # Re: Par contre...

      Posté par  . Évalué à 2.

      Est-ce que tu ne peux pas faire ça avec un serveur virtuel comme jabber80.fritalk.com, qui contiendrait soit un mod_jabber comme expliqué au dessus, soit un cgi qui renverrait tout au serveur jabber existant ?

      (hum compacte ma phrase...)
      • [^] # Re: Par contre...

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        ben non car alors il faudrait se créer une adresse en "jabber80.fritalk.Com" plutot que l'adresse pure fritalk.com

        La majorité des clients font en effet l'amalgame entre le serveur sur lequel se connecter et se qui se trouve après le "@" dans l'adresse.

        Mes livres CC By-SA : https://ploum.net/livres.html

  • # Tant qu'on y est...

    Posté par  (site web personnel) . Évalué à 1.

    Je tiens par la présente a préciser que le protocole HTTP n'est pas non plus une surcouche à FTP.

    En effet, je tient a rétabliter cette vérité tant il y a de gens qui se méprenne lorsqu'il utilise des URL tel que http://ftp.domaine.fr/(...)

    J'insiste aussi sur le fait qu'on ne peut pas surfer sur le web avec un client ftp !

    Voilà qui corrigera quelque amalgames et tant pis pour ceux qui le savait déjà !
    • [^] # Re: Tant qu'on y est...

      Posté par  . Évalué à 2.

      Merci, mais si tu voulais parodier mon journal, tu aurais pu indiquer dans le titre l'objet de ton message... Et avec une note négative, la simulation aurait été parfaitement reproduite (on n'aurait eu le texte sous les yeux qu'en le choisissant).
      • [^] # Re: Tant qu'on y est...

        Posté par  . Évalué à 3.

        Nan mais le pire c'est que c'est pas complétement stupide comme commentaire, bien que sans doute inutile sur dlfp. Mais dans la vraie vie, Luce et Henry ne font pas trop la différence entre ftp et http.
    • [^] # Re: Tant qu'on y est...

      Posté par  . Évalué à 3.

      je sais pas si c'est ironique ou pas mais :
      J'insiste aussi sur le fait qu'on ne peut pas surfer sur le web avec un client ftp !
      est completement faux :
      tout comme http, ftp permet de recuperer des donnees, apres libre a des client s web qui supporte ftp d'afficher le html recupere (c'est ce que fait mozilla). Bien evidament, la majeur partie des ftp n'ont pas de page html et ftp n'est pas fait pour ca.
      • [^] # Re: Tant qu'on y est...

        Posté par  . Évalué à 0.

        Je suppose qu'il entend par "client ftp" non pas un logiciel supportant le protocole FTP, mais un logiciel comme gFTP qui sert à gérer les fichiers. Petite erreur d'imprécision de sa part. Il n'en reste pas moins que le protocole HTTP reste le "standard" du Web (il est standardisé W3C, et pas le FTP).
    • [^] # Re: Tant qu'on y est...

      Posté par  (site web personnel) . Évalué à 2.

      J'insiste aussi sur le fait qu'on ne peut pas surfer sur le web avec un client ftp !
      Tu ne melangerais pas protocole de communication (HTTP, FTP) et format de fichier (HTML)???
      Rien ne m'empeche d'utiliser un client FTP qui sait afficher du HTML pour surfer sur le web...
      Bon, après, les outils actuels ne sont pas trop adaptés, et FTP manque de beaucoup de chose pour la synchro, l'envoi de requetes etc, donc c'est un surf limité :).

      Quand on fait une parodie, vaut mieux etre sur de ce qu'on ecrit :)
      • [^] # Re: Tant qu'on y est...

        Posté par  (site web personnel) . Évalué à 2.

        Finalement, et j'en suis le premier surpris, je m'aperçois que mon commentaires n'est pas sans interet !!

        > Rien ne m'empeche d'utiliser un client FTP qui sait afficher du HTML pour surfer sur le web...

        Les sites Web sont maintenant accessible via FTP ? Tu tiens un scoop là !!! J'suis impatient de surfer sur dlfp ou les news yahoo avec un client ftp !!!
        • [^] # Re: Tant qu'on y est...

          Posté par  . Évalué à 1.

          > Les sites Web sont maintenant accessible via FTP ? Tu tiens un scoop là !!! J'suis impatient de surfer sur dlfp ou les news yahoo avec un client ftp !!!

          Moi non plus je n'avais pas bien compris au début. En réalité il ne propose pas d'aller sur les serveurs HTTP avec un client FTP, mais plutôt de naviguer de serveur FTP en serveur FTP avec des documents adaptés. Le gros problème est que la très grande majorité des clients FTP ne permettent pas la navigation, ce qui est normal puisque ce n'est pas leur but.
        • [^] # Re: Tant qu'on y est...

          Posté par  . Évalué à 2.

          Les sites Web sont maintenant accessible via FTP ? Tu tiens un scoop là !!!

          Oui par exemple : ftp://download.intel.com/design/Pentium4/manuals/253666.htm(...)

          Ensuite vu que le protocole ftp n'est pas concu pour ca c'est normal que la majeur partie du web ne soit pas acessible.

          PS : c'est possible de faire des liens en serveur ftp, vu que c'est html qui se charge de ca...

          Bref comme dit plus haut du confond protocole de transfert (http, ftp) avec html...
          • [^] # Re: Tant qu'on y est...

            Posté par  . Évalué à 2.

            Le plus fort, c'est qu'en réalité, le ftp est tout à fait utilisable aujourd'hui, à mon avis. Pour les documents statiques, c'est une évidence.

            Pour les contenus dynamiques, c'est faisable aussi : en effet, l'absence de système GET/POST peut être comblée via l'url appelée (pour les aficionados : URI signifiante ; pour les débutants, c'est ce qui permet par exemple au moteur de blog de proposer des adresses type http://blog/2005/01/02/mavie(...) au lieu de http://blog/blog.php?page=2005/01/02/mavie)...(...) Pour les formulaires, c'est moche mais on peut "envoyer" les résultats de la même façon, en déterminant d'adresse appelée avec un ECMAscript (javascript standardisé, si je ne m'abuse).

            Quant au système de négociation de langue, bien utile de nos jours, il faudrait là aussi utiliser de l'ECMAscript.

            C'est pas génial, mais c'est possible.

            Reste que côté serveur, il faudrait une infrastructure adaptée : un serveur FTP modulaire type serveur avec mod_cequevousvoulez. Ou alors, un serveur FTP standard, mais un filesystem intelligent (pour les débutants : ce n'est pas le serveur qui s'occupe d'appeler PHP, ou de lancer votre cgi-bin et de récupérer le résultat, mais le module du noyau qui gère le système de fichier : ça marche donc avec n'importe quel serveur ou même en local de façon transparente). Petite pensée pour Hurd.

            Une chose manque vraiment, car si utile : les virtual hosts (pour les débutants, c'est ce qui permet à un serveur d'envoyer une page différente selon le nom de domaine auquel on accède, même avec un seul et même serveur et sur un seul et même port).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.