Partie 1
Le serveur web : qui répond à qui
Une API vit presque toujours derrière un serveur web. Avant de parler d'API, il faut donc comprendre ce que fait ce serveur. Le cours distingue deux sens du mot :
- le matériel : l'ordinateur physique qui héberge le site et ses fichiers (HTML, images, scripts) et les envoie aux navigateurs ;
- le logiciel : le programme qui gère la communication entre le client (le navigateur) et le serveur, avec des protocoles comme HTTP ou HTTPS. Exemples : Apache, Nginx, Microsoft IIS.
Le client est celui qui demande (le navigateur de l'utilisateur), le serveur est celui qui répond.
Vérifie que tu as compris
Dans l'expression « serveur web », qu'est-ce qui peut être désigné ?
Serveur web ou serveur d'applications ?
| Serveur web | Serveur d'applications | |
|---|---|---|
| Rôle principal | fournir des pages web statiques ou dynamiques | gérer la logique d'entreprise (business logic) |
| Portée | servir des pages | services pour des applications complexes (bases de données, services web, utilisateurs) |
Le serveur d'applications peut intégrer un serveur web, mais son rôle est plus large que servir des pages.
Les 4 étapes d'une requête
- Requête du client : tu tapes une URL ou cliques sur un lien, le navigateur envoie une requête HTTP au serveur associé.
- Traitement : le serveur identifie le contenu demandé. Page statique : il l'envoie telle quelle. Données dynamiques : il peut exécuter des scripts (PHP, Python) pour générer le contenu.
- Réponse : une réponse HTTP, généralement le fichier HTML, mais aussi images, CSS, scripts JavaScript.
- Affichage : le navigateur reçoit la réponse et affiche la page.
Vérifie que tu as compris
Un script PHP ou Python s'exécute sur le serveur pour construire la page avant de la renvoyer. À quelle étape sommes-nous ?
Les 5 rôles d'un serveur web
- Hébergement de contenu : stocker HTML, CSS, JS, images.
- Exécution de scripts côté serveur (ex. authentifier un utilisateur et générer son tableau de bord).
- Sécurité : restreindre l'accès (authentification), chiffrer en HTTPS, bloquer des attaques comme les injections SQL ou le DDoS.
- Optimisation des performances : cache, compression, CDN.
- Gestion des erreurs : 404 (page non trouvée), 403 (accès interdit), 500 (erreur serveur).