Création d'Applications sur Internet





Chapitre2: Fonctionnement du Web

Fatemeh BORRAN

Sommaire

Architecture client/serveur (1/4)

ClientServeur

Architecture client/serveur (2/4)

Client/serveur désigne un mode de communication entre des programmes informatiques:
  • un programme tient le rôle de "serveur": il est conçu de façon à pouvoir répondre à des requêtes extérieures;
  • les autres programmes, "clients", contactent le serveur pour lui soumettre des demandes, et attendent sa réponse.

Architecture client/serveur (3/4)

Imaginons que vous souhaitiez visiter le site Web de la HEIG-VD:

Architecture client/serveur (4/4)

ClientServeur
PageDynamique

Protocoles de communication (1/2)

Protocoles de communication (2/2)

Pour communiquer sur Internet, il faut s'assurer que:

Cette méta communication n'est autre que la mise en œuvre de protocoles.

Protocole TCP/IP (1/5)

Protocole TCP/IP (2/5)

Protocole TCP/IP (3/5)

Il existe des adresse IP de version 4 (IPv4) et de version 6 (IPv6)

Protocole TCP/IP (4/5)

Protocole TCP/IP (5/5)

TCP/IP

Protocole HTTP (1/2)

HTTP

Protocole HTTP (2/2)

La communication entre le navigateur et le serveur se fait en deux temps:

HTTP2

Requête HTTP (1/4)

Requête HTTP (2/4)

Une ligne de requête: cette ligne comprend trois éléments devant être séparés par un espace:

Requête HTTP (3/4)

Les champs d'en-tête de la requête: il s'agit d'un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la requête et/ou le client (Navigateur, système d'exploitation, etc.).

Host: www.google.com
Accept: text/html, application/xhtml+xml
If-Modified-Since: Tuesday, 30-September-2008 11:04:46 GMT
User-Agent: Mozilla/5.0 (Windows NT 5.1) Firefox/3.0.3
Cookie:PREF=ID=af6de2c1b8500829:TM=1223242...      

Requête HTTP (4/4)

Le corps de la requête: c'est un ensemble de lignes optionnelles devant être séparées des lignes précédentes par une ligne vide.

Code HTML (pour information):

<html>
   <body>
      <form action="http://www.google.com" method="POST">
         <input type="text" name="nom"/>
         <input type="text" name="prenom"/>
         <input type="submit"/>
      </form>
   </body>
</html>

Résultat dans le navigateur:POST


Requête HTTP envoyée:

POST / HTTP/1.1
Host: www.google.com
Accept: text/html
nom=Borran&prenom=Fatemeh

Réponse HTTP (1/4)

Réponse HTTP (2/4)

Une ligne de statut: c'est une ligne précisant la version du protocole utilisé et l'état du traitement de la requête à l'aide d'un code et d'un texte explicatif. La ligne comprend trois éléments devant être séparés par un espace:

  1. La version du protocole utilisé
  2. Le code du statut
  3. La signification du code

Exemples:

Réponse HTTP (3/4)

Les champs d'en-tête de la réponse: il s'agit d'un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la réponse et/ou le serveur

Server: gws
Content-Type: text/html
Content-Length: 2281
Date: Tue, 30 Sep 2009 11:04:48 GMT
Last-Modified: Wed, 25 Jun 2009 21:15:14 GMT

Réponse HTTP (4/4)

Le corps de la réponse: il contient le document demandé (en principe une page HTML), séparé des lignes précédentes par une ligne vide.

HTTP/1.1 200 OK
Date: Tue, 30 Sep 2008 12:55:14 GMT
Server: Apache/2.2.9 (Fedora)
Last-Modified: Mon, 24 Apr 2006 07:45:49 GMT
Content-Length: 204
Content-Type: text/html

<html><head><title>Vous Etes Perdu ?</title></head><body>
  <h1>Perdu sur l'Internet ?</h1>
  <h2>Pas de panique, on va vous aider</h2>
  <strong><pre>    * <----- vous êtes ici</pre></strong>
</body></html>

RFC

Les RFC (Request For Comments) sont un ensemble de documents qui font référence auprès de la communauté Internet et qui décrivent, spécifient, aident à l'implémentation, standardisent et débattent de la majorité des normes, standards, technologies et protocoles liés à Internet et aux réseaux en général.

HTTPS

HTTPS

Qu'est ce qu'une URL (1/3)

http://www.google.ch:80/ads/

Qu'est ce qu'une URL (2/3)

Qu'est ce qu'une URL (3/3)

Nom de Domaine (1/4)

Nom de Domaine (2/4)

Nom de Domaine (3/4)

Domaines

Nom de Domaine (4/4)

Il existe deux catégories de TLD:

Les domaines génériques

Ces dernières années, la distinction faite entre ces catégories s'est quelque peu atténuée.

Les domaines nationaux

Exemples:

Résolution de noms de domaines (1/2)

Résolution de noms de domaines (2/2)

Par exemple, lorsque vous tapez http://www.google.ch:

Vous auriez tout à fait pu vous passer du DNS en tapant directement http://72.14.203.99/ dans la barre d'adresse de votre navigateur, mais c'est tout de même plus pratique comme ceci!

Questions?!

Questions?!

Année 2015-2016 - Fatemeh Borran - /