From 8a7ce06fe67c317b91107ce420494bce3e0051f7 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Wed, 31 Jan 2024 16:33:02 +0100 Subject: [PATCH] add SDi/IOT_Technologies/http/URI-IRI-URL --- infotro/SDi/iot_technologies.md | 65 +++++++++++++++++-- ...evelopement.md => protocol_development.md} | 0 2 files changed, 60 insertions(+), 5 deletions(-) rename infotro/SDi/{protocol_developement.md => protocol_development.md} (100%) diff --git a/infotro/SDi/iot_technologies.md b/infotro/SDi/iot_technologies.md index c5d48c1..4aaef81 100644 --- a/infotro/SDi/iot_technologies.md +++ b/infotro/SDi/iot_technologies.md @@ -13,7 +13,7 @@ transmises efficacement. les stockant dans une mémoire persistante (comme le stockage de masse). La sérialisation permet de traduire ces objets en un format pouvant être stocké et récupéré ultérieurement. -# Basé texte ou binaire +***Basé texte ou binaire*** - **Encodage des données :** - **Texte :** Les données sont encodées sous forme de flux de caractères imprimables (comme dans XML ou JSON). - **Binaire :** Les données sont encodées sous forme de flux d'octets, sans nécessiter de représenter les caractères imprimables. @@ -113,10 +113,8 @@ interprétable par les machines, facilitant l'échange d'informations entre syst ### JSON (JavaScript Object Notation) JSON est un format de données léger et facile à lire et à écrire. Il est basé sur un sous-ensemble du langage de -programmation JavaScript, Standard ECMA-262 3ème édition - Décembre 1999. JSON est un format de données texte qui -est complètement indépendant du langage mais utilise des conventions familières aux programmeurs de la famille de -langages C, y compris C, C++, C#, Java, JavaScript, Perl, Python et bien d'autres. Ces propriétés font de JSON un -langage d'échange de données idéal. +programmation JavaScript. JSON est un format de données texte qui est complètement indépendant du langage mais utilise +des conventions familières aux programmeurs. Ces propriétés font de JSON un langage d'échange de données idéal. 1. **Objets et Tableaux :** JSON utilise des objets (encadrés par `{}`) et des tableaux (encadrés par `[]`) pour organiser les données. @@ -211,3 +209,60 @@ Cela rend Protobuf flexible pour les applications en constante évolution. En résumé, Protobuf est une façon efficace et flexible de sérialiser des données structurées en binaire, offrant compacité, interopérabilité et facilité d'évolution. + + +# HTTP & REST web services +Les ressources web sont des éléments identifiés par des URL accessibles via le protocole HTTP. +Elles peuvent inclure des documents, des services, ou des programmes. +Initialement, ces ressources étaient souvent des fichiers statiques sur un serveur HTTP. +Les ressources web sont destinées à afficher des informations aux humains, généralement sous la forme de pages HTML, +et peuvent également permettre aux utilisateurs d'entrer des informations, par exemple via des formulaires HTML. +Une ressource web a un identifiant unique appelé URI (Uniform Resource Identifier), qui peut être dereferenceable, +permettant l'accès à la ressource + +## IRIs, URIs and URLs +Les URL (Uniform Resource Locator) sont un sous-ensemble des URI (Uniform Resource Identifier). +Les URL sont des URI qui identifient une ressource par son emplacement sur un réseau. +Les URL sont les plus courantes, mais les URI peuvent également identifier des ressources par d'autres moyens, +comme le nom ou l'adresse de courrier électronique d'une personne. + +- **IRI (Internationalized Resource Identifier):** + - Un IRI est une extension d'URI qui peut contenir des caractères non ASCII. + - Il représente de manière unique une ressource sur le web. + +- **URI (Uniform Resource Identifier):** + - Un URI est une chaîne de caractères utilisée pour identifier de manière unique une ressource. + - Les URI comprennent les URL, les URN, et peuvent être étendus par les IRIs. + +- **URL (Uniform Resource Locator):** + - Une URL est un type d'URI qui fournit l'adresse spécifique d'une ressource sur le web. + - Elle inclut le schéma (comme http), le nom du domaine et souvent le chemin d'accès à la ressource. + +- **URN (Uniform Resource Name):** + - Un URN est un sous-type d'URI qui identifie de manière unique une ressource indépendamment de sa localisation. + - Contrairement aux URL, les URN ne fournissent pas d'adresse spécifique pour accéder à la ressource. + +En résumé, les URIs englobent les URL et les URNs, les URNs identifient de manière unique une ressource sans spécifier +son emplacement, et les URLs fournissent une adresse spécifique pour accéder à une ressource sur le web. + +## HTTP (Hypertext Transfer Protocol) +HTTP est un protocole client-serveur qui permet la communication sur le World Wide Web. +Il est sans état, basé sur des requêtes et des réponses, et utilise des codes de statut pour +indiquer le résultat d'une requête (par exemple, 200 OK pour succès, 404 Not Found pour ressource non trouvée). + +- **Format des URL:** +Les Uniform Resource Locators (URLs) suivent un format générique : `http://:/?.` +Ils comprennent des éléments tels que le nom du serveur, le port, le chemin local sur le serveur, et éventuellement des +paramètres de requête. + +- **Format des requêtes et réponses HTTP:** +Les requêtes et réponses HTTP sont textuelles et structurées. +Les en-têtes contiennent des paires clé-valeur, définissant divers aspects de la communication. +Les requêtes peuvent également avoir un corps de message, souvent utilisé pour envoyer des données au serveur. + +- **Représentation des ressources & HTTP:** +Les ressources peuvent avoir différentes représentations, telles que HTML, JSON, ou images. +Les clients spécifient les formats acceptables via l'en-tête "Accept", tandis que les serveurs déclarent le format de +la réponse avec "Content-Type". + + diff --git a/infotro/SDi/protocol_developement.md b/infotro/SDi/protocol_development.md similarity index 100% rename from infotro/SDi/protocol_developement.md rename to infotro/SDi/protocol_development.md