{"id":637,"date":"2012-12-12T17:41:13","date_gmt":"2012-12-12T15:41:13","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=637"},"modified":"2016-03-29T19:04:23","modified_gmt":"2016-03-29T17:04:23","slug":"protocole-dechange-http","status":"publish","type":"post","link":"http:\/\/blog.nebule.org\/?p=637","title":{"rendered":"Protocole d&rsquo;\u00e9change HTTP"},"content":{"rendered":"<p style=\"text-align: justify;\">Tous les objets et liens sont \u00e9changeables via diff\u00e9rents protocoles sous-jacent connus, en attendant un protocole en propre. Ces \u00e9changes peuvent utiliser par exemple la messagerie <em>SMTP<\/em>, <em>XMPP<\/em>, mais aussi le <em>HTTP<\/em>. C&rsquo;est sur ce dernier que l&rsquo;on va commencer.<\/p>\n<p style=\"text-align: justify;\">Celui-ci n\u00e9cessite un serveur web classique et un peu de programmation c\u00f4t\u00e9 serveur.<\/p>\n<p style=\"text-align: justify;\">Nous devons pouvoir permettre le t\u00e9l\u00e9chargement d&rsquo;objets et de liens par n&rsquo;importe quel utilisateur partout dans le monde. Les objets sont r\u00e9f\u00e9renc\u00e9s naturellement par leurs empreintes. Il en est de m\u00eame pour les liens d&rsquo;un objets, c&rsquo;est juste la fa\u00e7on de les traiter qui diff\u00e9rera c\u00f4t\u00e9 client.<\/p>\n<p style=\"text-align: justify;\">Une premi\u00e8re difficult\u00e9, c&rsquo;est de restreindre simplement le t\u00e9l\u00e9chargement libre de la plupart des objets et des liens. Sauf si c&rsquo;est une entit\u00e9 volontairement publique, seule une partie des objets et des liens sont relay\u00e9s \u00e0 tout le monde alors que la plupart ne le seront qu&rsquo;avec les entit\u00e9s connues. Contrairement au chiffrement, ce verrouillage ne doit pas \u00eatre consid\u00e9r\u00e9 comme une s\u00e9curit\u00e9 pour g\u00e9rer la confidentialit\u00e9 des donn\u00e9es. Cela doit \u00eatre vu comme une fa\u00e7on de r\u00e9guler les \u00e9changes entre entit\u00e9s.<\/p>\n<p style=\"text-align: justify;\">Le tag d&rsquo;objet <code>nebule\/objet\/public<\/code> est cr\u00e9\u00e9 pour d\u00e9signer les objets accessibles sans identification. Pour les autres objets, cette identification pr\u00e9alable est obligatoire. La seule exception, c&rsquo;est si c&rsquo;est une entit\u00e9 volontairement publique comme un annuaire.<\/p>\n<p style=\"text-align: justify;\">Comme l&rsquo;\u00e9change d&rsquo;objet peut potentiellement se faire sans \u00e9change (par exemple en <em>SMTP<\/em>), elle doit pouvoir \u00eatre envoy\u00e9e lors de la requ\u00eate <em>HTTP<\/em>. Elle doit prouver l&rsquo;identit\u00e9 du demandeur de fa\u00e7on forte et interdire le rejeu. Elle ne doit pas solliciter l&rsquo;utilisation de la cl\u00e9 priv\u00e9 de l&rsquo;entit\u00e9 serveur. Un relais d&rsquo;objet ainsi tenir compte du tag pour g\u00e9rer les objets qu&rsquo;il h\u00e9berge sans en \u00eatre la source.<\/p>\n<p style=\"text-align: justify;\">Les requ\u00eates doivent pouvoir passer par un flux en clair, c&rsquo;est \u00e0 dire non encapsul\u00e9 dans du <em>TLS<\/em>.<\/p>\n<p style=\"text-align: justify;\">Une requ\u00eate doit contenir :<br \/>\n&#8211; entit\u00e9 destination<br \/>\n&#8211; type demand\u00e9, objet ou liens<br \/>\n&#8211; empreinte objet<br \/>\n&#8211; entit\u00e9 demandeuse<br \/>\n&#8211; signature<\/p>\n<p style=\"text-align: justify;\">Par exemple : <code>http:\/\/localisation.net\/?o=HashObjet&amp;s=HashEntit\u00e9Demandeuse-HashEntit\u00e9Destination-Signature<\/code><\/p>\n<p style=\"text-align: justify;\"><em><span style=\"color: #993300;\">C&rsquo;est un d\u00e9but de r\u00e9flexion&#8230;<\/span><br \/>\nA compl\u00e9ter&#8230;<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tous les objets et liens sont \u00e9changeables via diff\u00e9rents protocoles sous-jacent connus, en attendant un protocole en propre. Ces \u00e9changes peuvent utiliser par exemple la messagerie SMTP, XMPP, mais aussi le HTTP. C&rsquo;est sur ce dernier que l&rsquo;on va commencer. Celui-ci n\u00e9cessite un serveur web classique et un peu de programmation c\u00f4t\u00e9 serveur. Nous devons &hellip; <a href=\"http:\/\/blog.nebule.org\/?p=637\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Protocole d&rsquo;\u00e9change HTTP<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[81,99,101,110,113,24],"tags":[195,303,321],"_links":{"self":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/637"}],"collection":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=637"}],"version-history":[{"count":1,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/637\/revisions"}],"predecessor-version":[{"id":2313,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/637\/revisions\/2313"}],"wp:attachment":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=637"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=637"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=637"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}