Title: Aucun titre de diapositive
1WEB
Introduction aux technologies WEB François
BONNEVILLE aricia - francois_at_aricia.fr Laboratoire
d'Informatiquede lUniversité de Franche-Comté
2Objectifs
- Historique d Internet
- Notions de réseau et du protocole TCP/IP
- Fonctionnement d Internet
- Le nommage sur Internet
- Présentation des services traditionnels
- Architecture des serveurs WEB
3Historique d Internet
- 1969 l'agence DARPA (Defence Advanced Research
Project Agency) dépendant du DOD (Department Of
Defense), développe le réseau ARPANET avec 4
noeuds.Objectif constituer un réseau fiable
résistant aux attaques ennemies. - 1972 Naissance du courrier électronique
- 1973, spécifications des RFC (Request for
Comments) du protocole TCP/IP par Vinton CERF - 1980 La NSF (National Center for Supercomputing
Applications) developpe son propre réseau
NSFNET relie différents réseaux régionaux. - 1982 Apparition du nommage des machines.
4Historique d Internet (suite)
- 1986 LINRIA est le premier site connecté à
Internet en France - 1991 Mise en place de Gopher ( l ancêtre du
web) - 1991 Développement du WEB au CERN de Genève
- 1993 130 sites WEB dans le monde - premiers FAI
pour le grand public - 1994 3000 sites WEB dans le monde - création de
Yahoo - 1998 Plus de 2 millions de sites
- 2000 20 millions de sites
- 2002 3 milliards de pages indéxées par Google
5Notions de réseau
La couche physique les données sont converties
en signaux numériquesLa couche liaison données
définit l'interface avec la carte réseauLa
couche réseau gère les adresses et le routage
des donnéesLa couche transport transport des
données et de la gestion des erreursLa couche
session l'ouverture des sessions sur les
machines du réseauLa couche présentation
définit le format des données (compression et
cryptage)La couche application assure
l'interface avec les applications
6Notions de réseau
7Le protocole TCP / IP
- IP Internet Protcol
- toute machine a une adresse xxx.xxx.xxx.xxx
(ipv4) - xxx valeur de 0 à 255
- masque pour définir un réseau
- passerelle pour accéder à un autre réseau
8Le protocole TCP / IP
- Le protocole TCP
- Initialise et termine une communication entre 2
machines - notion de port - Multiplexe les données pour qu une machine
puisse simultanément communiquer avec plusieurs
autres - Découpe les messages en paquets de longueurs
variables remis au protocole IP - Vérifie le flux de données afin d éviter une
saturation - remet en ordre les paquets en provenance du
protocole IP
9Le protocole TCP / IP
10Fonctionnement d Internet
- l'IAB (Internet Architecture Board) comité
chargé de coordonner l'architecture, la gestion
et le fonctionnement d'Internet. - l'IETF (Internet Engineering Task Force,
www.ietf.org) problèmes techniques à court et
moyen terme - l'IRTF (Internet Research Task Force,
www.irtf.org) coordonne les activités de
rechercherelatives à TCP/IP.
11Fonctionnement d Internet
- Classe d adresses gérées par L'IANA
- (Internet Assigned Numbers Authority)
- Délégation à des organismes sur chaque continent
- NIC (Network Information Center)
- En Europe RIPE (Reseaux IP Europeens)
- re-delegue une partie de cette fonction à
d'autres NIC - dans chaque pays europeen
12Economie d Internet
- Chaque réseau choisit les modalités de son
interconnexion - Les réseaux sont coopératifs
- Création de nœuds d échange peering
- L utilisateur final accède au réseau par
l intermédiaire des FAIs(Fournisseur d Accès
Internet) - Dilemme coopération (acheminement) /
concurrence (accès)
13Le nommage sur Internet
- Fichiers hosts
- Serveurs de noms DNS
- Principe découpage en zone.com - .net - .org -
.gov. - .edu- .mil - .fr - .uk - .it - .de - .it - 13 serveurs root dressent la liste de la
délégation des zones - chaque zone gérée par un NIC qui attribue des
noms de domaines selon des règles qui lui sont
propresnomdedomaine.zone délégué à 2 serveurs de
noms - les serveurs de noms dressent l équivalencemachi
ne.nomdedomaine.zone adresse IP - Chaque machine qui veut résoudre un nom doit
questionner un serveur de noms
14Le nommage sur Internet
- Déposer un nom de domaine
- Choisir l extension (la zone) .com ou .fr
- Pour les extensions .com, .net, .com
- Règle premier arrivé premier servi
- choix entre plusieurs prestataires Network
Solutions, Gandi - Pour l extension .fr
- Géré par l AFNIC
- Règle très stricte charte de nommage
- choix du prestataire parmi les membresde l AFNIC
- Paramétrage du serveur de nom avec son
prestataire
15Les services traditionnels
- Telnet - port 23 prise de contrôle à distance
- FTP File Transfert Protocol - port 21
transfert de fichiers - SMTP Simple Mail Transfert Protocol - port
25envoi de messages électroniques - POP Post Office Protocol - port 110lecture
boite aux lettres électroniques - NNTP Network Net Transport Protocol - port
119Forums de discussions (newgroup) - HTTP Hyper Text Transfert Protocol - port
80affichage de pages WEB
16Le protocole HTTP
- Historique
- Le protocole HTTP
- Les méthodes GET et POST
- Les Cookies
- Les Serveurs HTTP
- Autour d HTTP
17Le Protocole HTTP
- HTTP HyperText Tranfert Protocol (RFC 1945 et
2068) - protocole de rapatriement des documents
- protocole de soumission de formulaires
- Principe de fonctionnement
- très simple en HTTP/1.0
- connexion
- demande (GET) d un document
- renvoi du document (status200) ou d une erreur
- déconnexion
- Protocole en mode de lignes de caractère
- telnet www.sun.com 80
18Dialogue HTTP
- Requete du client
- GET http//www.univ-fcomte.fr/ HTTP/1.0
- User-Agent Mozilla/4.0 (compatible MSIE 5.0
Windows 95) - Réponse du serveur
- HTTP/1.0 200 OKDate Sat, 15 Jan 2000 143712
GMTServer Microsoft-IIS/2.0Content-Type
text/HTMLContent-Lentgh 126Last-Modified
Fri, 14 Jan 2000 082513 GMTltHTMLgtltHEADgtltTITLEgt
Universiteacute de Franche-Comteacutelt/titlegt
lt/HEADgt...lt/HTMLgt
19Méthodes de la requête
- GETobtenir des informations et une zone de
données concernant l URI - HEADseulement obtenir des informations
concernant l URI - POSTenvoie de données (contenu du formulaire
vers le serveur, ). Ces données sont situées
après l entête et un saut de ligne. - PUTenregistrement du corps de la requête à l
URI indiqué - DELETE
- suppression des données désignées par l URI
- OPTIONSdemande des options de communication
disponibles
20En-tête de la requête
- On peut spécifier 5 choses
- FromDonne l'e-mail de la personne contrôlant le
navigateur (cela peut poser des problèmes de
respect de la vie privée). - RefererURL de l'objet qui amène la requête (URL
de la page où se trouve le lien) - User-Agent l'identifiant du navigateur. Sert
pour adapter la réponse au navigateur - Authorizationpermet à un client de
s'authentifier auprès du serveur - If-Modified-Since permet de faire des GET
conditionnels
21Les réponses du serveur en HTTP/1.0
- La version HTTP utilisée par le serveur
- Le statut de la réponse sous forme numérique
- Le statut de la réponse sous forme de texte.La
réponse est du genre HTTP/1.0 200 OKStatus de
la réponse - 100-199 Informationnel
- 100 Continue (le client peut envoyer la suite
de la requête), ... - 200-299 Succès de la requête client
- 200 OK, 201 Created, 204 No Content, ...
- 300-399 Redirection de la Requête client
- 400-499 Requête client incomplète
- 400 Bad Request , 401 Unauthorized, 403
Forbidden, 404 Not Found - 500-599 Erreur Serveur
22Entêtes des réponses serveur HTTP
- Server modèle du serveur WEB
- Retry-After date ou nombre de secondes pour un
ressai en cas de code 503 (service unavailable) - Set-Cookie créer ou modifie un cookie sur le
client - Last-Modified date de dernière modification du
doc. Utilisé par les caches - Content-Length taille du document en octet
utilisé par le client pour gauger la progression
des chargements - Content-Encoding type encodage du document
renvoyé compress, x-gzip, x-zip - Content-Language le langage du document
retourné fr, en - Content-Location URI de l entité quand l URI
est à plusieurs endroits
23Récupération d un document
24Soumission d un Formulaire
25Soumission d un Formulaire
26Codage des paramètres
- Les valeurs passées (URL et contenu des entrées
des formulaires) doivent être sur 7 bits et sans
caractères spéciaux - Espace -gt
- Tous les caractères spéciaux et accentués-gt code
ascii - _at_ 40
- é e9
- Les entrées des formulaires sont encodés dans une
chaîne composée de paires (nom de l
entrée)(valeur de l entrée) séparé par de - nomDupontJeanadresse3ruedela
Gaite90a75014Paris
27Comportement du Client face au type du document
retourné
- A partir du type MIME de Content-Type
- Visualisation native
- la fonction de visualisation est dans le noyau
(core) du client - text/html, image/jpeg
- Visualisation par plugin
- la fonction est présente dans un DLL, SO, ou un
JAR - elle est liée dynamiquement pour réaliser la
visualisation - world/vrml, text/tex
- Visualisation externe
- la fonction n est pas présente dans le client
qui rapporte le document et le sauvegarde dans un
fichier temporaire
28Architectures actuelles
- Système Linux, Windows, Sun, Mac
- Serveur Web Apache, IIS
- Langages CGI, PERL, PHP, ASP, ASP .Net
- Base de données Access, SQL Server, Oracle,
MySql