Académique Documents
Professionnel Documents
Culture Documents
REST est un acronyme pour Representational State Transfer. Il s'agit d'un ensemble de contraintes
architecturales qui définissent la façon dont les ressources doivent être exposées sur un réseau. Les services
REST sont basés sur les principes suivants :
- État représenté : Les ressources sont représentées par des URI (Uniform Resource Identifiers).
- Transfert de représentation : Les données sont transférées sous forme de représentations.
- Étatless : Les clients et les serveurs ne conservent pas d'état entre les requêtes.
- Cache : Les clients et les serveurs peuvent utiliser le cache pour améliorer les performances.
- Uniformité : Les opérations sur les ressources doivent être uniformes.
- Simplicité : Les services REST sont relativement simples à comprendre et à mettre en œuvre.
- Flexibilité : Les services REST peuvent être utilisés pour exposer une grande variété de ressources.
- Portabilité : Les services REST peuvent être utilisés sur n'importe quelle plate-forme.
- Scalabilité : Les services REST peuvent être mis à l'échelle facilement.
Les services REST sont utilisés par de nombreuses applications et services, notamment :
- Les sites Web : Les sites Web utilisent des services REST pour exposer des ressources telles que les
pages, les images et les vidéos.
- Les applications mobiles : Les applications mobiles utilisent des services REST pour accéder aux
données et aux fonctionnalités des serveurs.
- Les services cloud : Les services cloud utilisent des services REST pour exposer leurs ressources aux
clients.
1. Le protocole http
HTTP, ou Hypertext Transfer Protocol, est un protocole de communication utilisé pour transférer des
données sur le World Wide Web. Il est basé sur un modèle client-serveur, où le client envoie une requête au
serveur et le serveur renvoie une réponse.
1
1.1. Fonctionnement
- L'en-tête, qui contient des informations sur la requête, telles que le type de requête, la méthode, l'URI
et les en-têtes HTTP.
- Le corps, qui contient les données à transférer.
- L'en-tête, qui contient des informations sur la réponse, telles que le code d'état HTTP, le type de
contenu et les en-têtes HTTP.
- Le corps, qui contient les données transmises par le serveur.
1.2. Méthodes http
HTTP définit une série de méthodes qui peuvent être utilisées pour effectuer différentes actions sur un
serveur. Les méthodes les plus courantes sont les suivantes :
2
Cette requête demande au serveur de retourner la ressource /index.html. L'en-tête Host indique au
serveur le domaine auquel la requête est adressée.
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1234,
"name": "John Doe",
"email": "johndoe@example.com"
}
Cette réponse indique que la requête a réussi. Le code d'état 200 OK indique que la ressource a été
trouvée et qu'elle peut être renvoyée. L'en-tête Content-Type indique que le type de contenu de la réponse est
application/json. Le corps de la réponse contient les informations sur l'utilisateur John Doe..
Les types de contenu sont utilisés pour indiquer le type de données contenues dans le corps d'une requête ou
d'une réponse HTTP. Les types de contenu les plus courants sont les suivants :
HTTP a évolué au fil du temps. Les versions les plus courantes sont les suivantes :
HTTP est un protocole essentiel pour le World Wide Web. Il est utilisé pour transférer des données
entre les clients et les serveurs, et il est la base de nombreux autres protocoles Web, tels que HTTPS,
WebSockets et WebDAV.
2. Enchainement client-serveur
3
L'enchaînement client-serveur est un modèle de communication dans lequel un client envoie une
requête à un serveur et le serveur renvoie une réponse. Le client et le serveur peuvent être des applications
distinctes ou des composants d'une même application. L'enchaînement client-serveur est un modèle de
communication très répandu. Il est utilisé dans de nombreux contextes, tels que :
- Le World Wide Web : Les navigateurs web utilisent le modèle d'enchaînement client-serveur pour
demander des pages web aux serveurs web.
- Les applications mobiles : Les applications mobiles utilisent le modèle d'enchaînement client-serveur
pour accéder aux données et aux fonctionnalités des serveurs.
- Les applications de bureau : De nombreuses applications de bureau utilisent le modèle d'enchaînement
client-serveur pour accéder aux données et aux fonctionnalités des serveurs.
2.1. Fonctionnement
La requête est généralement composée d'un URI, d'une méthode HTTP et d'un corps de requête. L'URI
indique la ressource à laquelle la requête est adressée. La méthode HTTP indique l'action que le client souhaite
effectuer sur la ressource. Le corps de requête contient des données supplémentaires qui peuvent être utilisées
par le serveur.
La réponse est généralement composée d'un code d'état HTTP, d'un type de contenu et d'un corps de
réponse. Le code d'état HTTP indique l'état de la requête. Le type de contenu indique le type de données
contenues dans le corps de la réponse. Le corps de la réponse contient les données renvoyées par le serveur.
Une URL, ou Uniform Resource Locator, est une chaîne de caractères qui identifie une ressource sur
le World Wide Web. Elle est composée de plusieurs éléments, dont un protocole, un nom de domaine et un
chemin. Le protocole est le type de transfert de données utilisé pour accéder à la ressource. Les protocoles les
plus courants sont HTTP (Hypertext Transfer Protocol) et HTTPS (Hypertext Transfer Protocol Secure). Le
nom de domaine est le nom d'un serveur ou d'un réseau sur Internet. Il est généralement composé de plusieurs
mots séparés par des points. Le chemin est la partie de l'URL qui identifie la ressource sur le serveur. Il peut
être composé de plusieurs éléments, tels que des dossiers et des fichiers. L'URL suivante est un exemple d'URL
:
https://www.example.com/index.html
Cette URL identifie une ressource sur le serveur www.example.com. La ressource est un fichier HTML
nommé index.html.