From bc2087565402355e8c2f72590183b16594e8d98d Mon Sep 17 00:00:00 2001 From: denmigda Date: Wed, 6 Dec 2023 15:51:40 +0100 Subject: [PATCH] Add Web/Communications Client-Serveur (architecture) --- Readme.md | 1 + .../HTTP queries.dia | Bin 0 -> 2029 bytes .../HTTP queries.png | Bin 0 -> 8031 bytes .../index.md | 163 ++++++++++++++++++ 4 files changed, 164 insertions(+) create mode 100644 Web/X - Communications Client-Serveur/HTTP queries.dia create mode 100644 Web/X - Communications Client-Serveur/HTTP queries.png create mode 100644 Web/X - Communications Client-Serveur/index.md diff --git a/Readme.md b/Readme.md index c56e819..b1607c7 100644 --- a/Readme.md +++ b/Readme.md @@ -11,3 +11,4 @@ include_toc: true - [JavaScript](./Web/X%20-%20JavaScript/index.md) - [API JS-DOM](./Web/X%20-%20API%20JS-DOM/index.md) +- [Communications Client-Serveur](./Web/X%20-%20Communications%20Client-Serveur/index.md) diff --git a/Web/X - Communications Client-Serveur/HTTP queries.dia b/Web/X - Communications Client-Serveur/HTTP queries.dia new file mode 100644 index 0000000000000000000000000000000000000000..cb2dd3de750f87a3a11b4d27ea8397633d14301c GIT binary patch literal 2029 zcmVe!jEhw+}aOTm)XTKMMj@68nT7MpqMgNonwUFxYH1ink2`#YFMYS_$Fc zAK-alz>Eg+!;K`JI&c96(Y@p@pp>B5nnKA3D>#v7!1=l$c zYM#90LE>nT@^ry_02XjYAoyDBTxBoYZst6IB-K{ejbO-j<=f%U9ogsXVYQWmaUp2Q`^r;eYjb_a9+P~ zq+d7`P6JFR0f^=yXBc}B_&Zce*04EF=m3u`u}fjKh+>W?#UAK+F-x zkGEWLJ8y*~HF z4g(={JIXXgsnQ3*9mRKuG5KcYlFY-C`n5E5j7!)iP>GreJF9diV-b~rfL4R{Zi6^Rr zYg9#3(=V+BSh}?+P`Fg}*j&`Zm?O_C$H+=_^)M)WqP*kqF&jIiS9{r*2{a_ ziM+x-4g=t@axSFXsJ3IJ+0Mm#ye0^ehRZKupe7@*tjrMZe!!mlaps}FnkJ3_d)pNz z!4f%*MwA^;tHC%?F&zD~d?+Dcx%4oK!&mbw^d2Ea4v1%_Tj!z!@DuZ+$3Xq!_Hj=Xxe#6pILkVw=W2yRg}XHdMxX!xn!9DUeIf zh`ES0gALcS?@yuc<_^D<&s?ER6m82AaNS1@xaL>{5{iRMnn}85)*7Z*GQ$_rkJ%B5 zOTdODJZH_T?~4H(f7BMewt zgTAvp;Seq1kWmM{h-DbJX46NERl5-@D%+JI>*|LQk&GCk9bLRcDv6fqv`R0Mo4GSq z7Gs*qMwdB>QE}F)c37C8GYY91h7*s)&kmkV)sNA8(+3aFNqAOK&+`PU%ZM70qMjzjeEK-^ zSuOeOF#TDzFG4k1H)U~_wwh<@iiA3f8Dku^Ww*9szRaeq8k3%zvNKkiVwq+wyAqi& zqHn8l;Un0T2e}FU{5JWsm013r@@IwvM|Jo!!@a|PB+YRrk|t;Jj3rHmv6nP8^`+8h zJx#Ne7$c)7Sg!j*Q#BLVoJGxcAZ4Pa!AHe3gls8f%au<^W(kRv~BMvK>gN zaA~BHiOEUF>;y%~nnKp>iG+HSH8r&(U6VCPJ)FnXw5Tmhbj_ins>am|o9T%wI%!$i zN-q~U(^f*@>`vfxLZNVq){H|L^%7gNdJ%P^a2j=bGy9noPEG4b;v6BUk LHHONb&2Rt!CMnoC literal 0 HcmV?d00001 diff --git a/Web/X - Communications Client-Serveur/HTTP queries.png b/Web/X - Communications Client-Serveur/HTTP queries.png new file mode 100644 index 0000000000000000000000000000000000000000..28aed6f5dc4e283e217086db301b2b87f3993f25 GIT binary patch literal 8031 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 literal 0 HcmV?d00001 diff --git a/Web/X - Communications Client-Serveur/index.md b/Web/X - Communications Client-Serveur/index.md new file mode 100644 index 0000000..46abfca --- /dev/null +++ b/Web/X - Communications Client-Serveur/index.md @@ -0,0 +1,163 @@ +--- +gitea: none + +include_toc: true + +--- + +[TOC] + + + +# Architecture client/serveur + + + +Un site Web est généralement constitué d'au moins 2 parties : + +- *le côté client* : qui est l'ensemble des fichiers (HTML/CSS/JS/WASM) interprétés par le navigateur et exécuté sur le poste de travail de l'utilisateur. + +- *le côté serveur* : qui va s'exécuter sur le serveur et qui répondra aux requêtes du navigateur. C'est lui qui va, entre autres, donner au navigateur les fichiers HTML/CSS/JS/WASM nécessaires à l'affichage du site. + + + +La communication entre le client et le serveur se fait généralement via le protocole HTTP(S). Le client envoie une requête HTTP au serveur qui retourne une réponse HTTP. + + + +L'affichage d'une page Web se déroule usuellement de la sorte : + +```html + + + + + + + + + + +``` + +1. Le navigateur demande au serveur le fichier HTML correspondant à la page Web à afficher. + +2. Le navigateur commence à lire et à interpréter le fichier HTML reçu. + +3. Le navigateur lit la balise `