Vous êtes sur la page 1sur 13

Module 222

Bases de tlcommunication

Technologies de l'Internet

1 - Internet
2 - TCP/IP
3 - HTTP

Bibliographie

Grard-Michel Cochard
cochard@u-picardie.fr

Technologies de l'Internet
1 - Internet
2 - TCP/IP
3 - HTTP

Grard-Michel COCHARD
Universit de Picardie Jules Verne
IUP MIAGE

1 - Internet
Internet, rseau de rseaux, s'est dvelopp partir de 1985 et a subi un essor extraordinaire partir de 1990 (suite la mise en service des premiers
serveurs WWW). Il constitue actuellement le moyen de communication le plus performant et le plus populaire.

Nous passons en revue, dans ce chapitre quelques aperus sur les technologies employes, sans vouloir prtendre l'exhaustivit complte sur le sujet,
d'ailleurs en perptuelle volution.
Internet est un ensemble de rseaux de tous types :
rseaux locaux (exemple rseau local de la DEP)

rseaux de "campus" (exemple rseau UPJV)


rseaux rgionaux (exemple PIR2)
rseaux nationaux (exemple RENATER)
rseaux internationaux (exemple EBone)

La figure ci-dessous explicite quelques exemples de connexion :

Le "provider" ou fournisseur d'accs Internet est une entreprise qui propose aux particuliers ou aux socits un raccordement Internet.
Internet possde des instances de gestion :
ISOC (Internet SOCiety) : socit savante discutant de l'avenir d'Internet
IAB (Internet Architecture Board) : conseil des "sages" ; fixation des rgles d'attribution des adresses et des noms de domaines ; prsident : Ch.
Huitema

IETF (Internet Engineering Task Force) : ensemble de groupes de travail techniques

IRTF (Internet Assigned Numbers Authority) : bureau enregistrant les numros de ports (applications), les numros de rseaux, les noms de
domaines, ... ; dlgation aux NIC (Network Information Center) ; exemples RIPE = NIC europen, NIC France l'INRIA.

Les caractristiques principales d'Internet sont les suivantes ; elles seront, pour la plupart, reprises en dtail ci-dessous :

le protocole "standard" d'Internet est dfini par la famille TCP/IP ;

RFC (Request For Comments) fournit les spcifications des divers protocoles , documents de rfrence (quelque fois appels FYI = For Your
Information) ; voir ftp://ftp.urec.fr/pub/reseaux/docs/intro-docs/FYIs ;

au niveau rseau, Internet emploie des datagrammes : les paquets IP sont des blocs circulant indpendamment les uns des autres ;
un rseau IP comprend des stations, des connexions physiques, des routeurs ;
routeurs : emploi du routage par dfaut ; chaque routeur connat les routeurs voisins ; si l'adresse est inconnue, le datagramme est envoy vers un
routeur par dfaut (simplification de la table de routage) ;

adresses IP : chaque station possde une adresse compose de 4 parties : 129.88.32.30 (adresse rseau + adresse station) ; l' attribution est
effectue par le NIC ;

adresses Internet : FQDN (Fully Qualified Domain Name) de la forme nom@organisation.domaine ; classes de domaine : com, fr, hu, edu, gov,
net, ... Transformation automatique en numro IP ;

adresses URL (Uniform Resource Locator) : identification d' un service ; exemples : http://www.microsoft.com, ftp://www.cern.fr/public.

Les connexions physiques Internet peuvent tre ralises par


des liaisons tlphoniques jusqu' 28,8 kbits/s ; 1 CD-ROM (640 Mo) sera alors transport en 4 jours ;
liaisons spcialises : 56 kbits/s 2 Mbits/s couramment ; 1 CD-ROM (640 Mo) sera alors transport en 5 h 64 kbits/s et en 10 min 2
Mbits/s.
Les services offerts par Internet sont nombreux :
WWW : serveurs de pages d'information
e-mail : courrier lectronique
FTP : transfert de fichiers
Telnet : connexion une machine distante
WAIS : consultation de bases de donnes
etc .....
On trouvera des documents d'intrt sur Internet aux adresses suivantes :
aspects du Net : http://www.eff.org/papers/eegtti/eeg_toc.html

une nouveau guide Internet par Gilles Maire : http://www.imaginet.fr/ime/

2 - TCP/IP
Les protocoles TCP/IP et le modle OSI
TCP/IP est une famille de protocoles issus du projet amricain DARPA (annes 60) qui ont conduit au rseau exprimental ARPANET, devenu par la
suite .... Internet au plan mondial.
La famille TCP/IP se compose essentiellement des protocoles IP, TCP, UDP. Le modle OSI, dont le but est de normaliser les protocoles de
communication, a t labor pratiquement en mme temps que TCP/IP. On ne s'tonnera donc pas des diffrences invitables que ces deux familles de
protocoles prsentent. Il faut remarquer que, pendant que OSI se dveloppait avec une relative lenteur, TCP/IP s'est dvelopp, quant lui, avec une
relative rapidit. La figure ci-dessous prsente sommairement la correspondance centre les deux familles de protocoles :
Couche application
Couche prsentation

Couche application

Couche session
Couche transport

TCP UDP

Couche rseau

IP

Couche liaison

Couche d'accs

Couche physique

au rseau

modle OSI

famille TCP/IP

IP = Internet Protocol ; TCP = Transport Control Protocol ; UDP = User Datagram Protocol

On constate que TCP/IP n'est pas concern par les deux couches basses (physique et liaison) ce qui signifie que n'importe quel protocole ces niveaux
est utilisable (par exemple Ethernet, Token Ring,...) et que les couches suprieures de l'OSI correspondent, dans TCP/IP, une seule couche
"application". Les deux couches essentielles de TCP/IP sont la couche rseau avec le protocole IP et la couche transport avec les deux protocoles
exclusifs TCP et UDP.

Adresses IP, ports et sockets


Le protocole P de la couche rseau permet d'identifier une machine sur le rseau Internet grce une adresse IP sur 32 bits qui se compose de 4
nombres entiers infrieurs 256 ; par exemple, 192.34.56.97. Il existe plusieurs types d'adresses qui se rpartissent en classes. Il existe actuellement
plusieurs classes d'adresses, les plus connues tant A, B, C, D, E. Les classes D et E sont des classes spciales, les classes A, B, C sont des classes
courantes qui diffrent par le nombre de rseaux et le nombre de machines par rseau. La figure ci-dessous explicite ces diffrentes classes.

On constatera que la classe A correspond un maximum de 128 rseaux, chacun d'eux pouvant contenir 224 machines ; la classe B correspond un
maximum de 214 rseaux, chacun d'eux pouvant contenir 216 machines ; enfin la classe C, la plus courante, correspond un maximum de 221 rseaux,
chacun pouvant contenir 256 machines. La classe D est une classe permettant une diffusion de message sur plusieurs destinataires. La classe E est, pour
l'instant, d'un usage rserv. Les cinq classes se reprent par les premiers bits, caractristiques de la classe.
Le protocole IP permet aussi d'identifier une application (ou service) par un port IP. Ainsi, l'accs une application, fonctionnant sur une machine
donne, ncessite de connatre l'adresse IP et le port IP (ce qui, comme on le verra plus loin, correspond la notion de socket).
Les ports sont numrots de 0 1023 pour les applications standards. Par exemple,
HTTP

Port 80

FTP

Port 20 et Port 21

Gopher

Port 70

SMTP

Port 25

POP3

Port 110

Telnet

Port 23

L'adresse IP est peu commode pour identifier une machine de la part de l'utilisateur qui prfre lui donner un nom. Il faut donc tablir dans ce cas une
correspondance entre nom de la machine et l'adresse IP. Cette correspondance est effectue dans le cadre d'une base de donnes rpartie sur plusieurs
serveurs au niveau mondial : le DNS (Domain Service Name).
Un socket est l'association d'une adresse IP (machine) et d'un port IP (application). Par extension, un socket dsigne aussi un ensemble de
fonctionnalits permettant la connexion une application excutable sur une machine sur Internet. Cette notion, au dpart dveloppe sur les machines
Unix, vaut galement maintenant pour les plates formes Windows, l'ensemble des fonctionnalits portant le nom de Winsock et comprenant 44
fonctions diffrentes. Dans la pratique, cet ensemble est simplifi dans des packages courants. Ainsi, pour Visual Basic, on peut utiliser le package
DSSock.OCX (de Dolphin Systems) qui comporte 22 proprits et 7 vnements ; pour utiliser DSSock, il faut ajouter dans la liste des contrles de
Visual Basic (VB4), le contrle DSSock32.OCX qui se trouve dans le sous-rpertoire "system" du rpertoire "windows" de Windows95. Le principe de
l'utilisation de DSSock est simple : il suffit d'ajouter aux modules que l'on programme le module DSSock.bas qui contient les constantes globales et les
fonctions utilitaires.
exemple : obtenir la correspondance entre l'adresse IP et le nom de la machine sur laquelle on travaille. On cre un projet sous VB4, on ajoute
DSSock.bas au projet, on ajoute le contrle DSSock dans une feuille de travail Form1 dont le code sera :

Private Sub Form_Load()


Caption=DSSocket1.LocalDotAddr&"_"&DSSocket1.LocalName
End Sub

DSSocket1.LocalDotAddr donne l'adresse IP de la machine locale, DSSocket1.LocalName donne le nom de la machine locale.

IP
Rappelons tout d'abord le modle en couche correspondant la famille TCP/IP en dtaillant un peu plus chaque couche :

Le passage d'une couche l'autre implique un habillage/dshabillage des donnes :

Au niveau de la couche rseau, nous avons vu que les paquets utilisent des adresses IP, appartenant des classes dfinies. Ces adresses sont sur 32 bits,
or les adresses de la couche liaison ne sont pas ncessairement sur 32 bits ; par exemple, si Ethernet est le protocole utilis dans la couche liaison,
l'adressage Ethernet est sur 48 bits. Pour effectuer la conversion entre une adresse IP et une adresse Ethernet, les protocoles ARP (Address Resolution
Protocol) et RARP (Reverse Address Resolution Protocol) sont utiliss.

Les paquets IP sont des datagrammes : ils peuvent circuler indpendamment les uns des autres. Le format d'un paquet IP est dcrit ci-dessous :

L'en-tte du paquet IP comprend plusieurs champs :

Version : ce champ de 4 bits identifie la version de IP (actuellement 4) ;


HLEN : longueur de l'en-tte (en mots de 32 bits) sur 4 octets ; cette longueur permet d'atteindre directement les donnes utiles du paquet : 1er
octet "utile" = 1er octet "en-tte" + 4*HLEN ;
TOS : type de service ; ces 8 bits permettent de dfinir une qualit de service (priorit, dlai de dlivrance, ...) ;
Longueur du paquet : la longueur est exprime en nombre de mots de 32 bits ; cette longueur a de l'importance en raison de la taille maximale de
l'unit de transmission (MTU = Maximum Transfer Unit) qui dpend du rseau basique employ (MTU = 1500 octets pour Ethernet,
MTU=4464 octets pour Token Ring) ; si la taille du paquet est plus grande, il s'oprera une fragmentation (notamment au niveau d'un routeur
lors du passage d'un rseau un autre) ;
Identification : numro d'identification du datagramme ;
Flag et Fragment Offset : champs relatifs la fragmentation ;
Time To Live : ce champ de 8 bits indique le temps de vie d'un paquet dans le rseau ; quand ce temps est dpass le paquet est
automatiquement dtruit avec message via le protocole ICMP (Internet Control Message Protocol) ;
Protocol : ce champ indique le protocole de la couche transport qui a donn naissance au datagramme : TCP ou UDP ;
Header Checksum : champ de contrle d'erreur sur l'en-tte uniquement ;
adresses IP de la source et du destinataire : adresses IP sur 32 bits ; si la transmission est "broadcast" (pour tout le monde), l'adresse du
destinataire ne contient que des "1" ;

Le routage des paquets IP est effectue grce des tables de routage. Ces tables utilisent le fait que le dbut d'une adresse IP indique le numro de
rseau et la suite le numro de machine sur ce rseau. La transmission d'un paquet peut se faire suivant deux modes : le mode direct et le mode indirect :
le mode direct est utilis quand le paquet peut tre transmis sous la forme d'une trame de la couche infrieure (liaison) ; ce mode est employ
lorsque le destinataire est directement reli au routeur qui a reu le paquet ;

le mode indirect est employ lorsque le destinataire appartient un rseau autre que celui auquel appartient le routeur qui a reu le paquet ; la
table de routage consulte doit indiquer alors l'adresse du routeur vers lequel diriger ce paquet.

Une situation typique pour un routeur est indique ci-dessous :


table de routage pour le
routeur B :
adresse

route

200.0.0.0

direct

300.0.0.0

direct

100.0.0.0

300.0.0.7

TCP et UDP
La couche rseau utilise un protocole unique : IP. La couche transport utilise deux protocoles, exclusifs, TCP (Transport Control Protocol) et UDP
(User Datagramme Protocol). Alors que IP utilise des adresses de machines, TCP et UDP utilisent des ports ; on trouvera donc, dans les blocs
manipuls par TCP ou UDP des ports source et destinataire. La diffrence entre TCP et UDP est base sur la proprit "connexion". Un protocole est
"avec connexion" (ou orient connexion) si un chemin de parcours des blocs est dfini : c'est le cas de TCP ; un protocole est dit "sans connexion" s'il
n'y a pas de chemin dfini : c'est le cas de UDP qui utilise des datagrammes (comme IP).
La structure d'un datagramme UDP est la suivante :

L'en-tte de 64 bits ne comporte que 4 champs :

les ports source et destination ;


la longueur du datagramme UDP incluant l'en-tte ;
le champ de contrle d'erreur qui porte sur le datagramme entier.

UDP ne garantit pas la remise d'un datagramme son destinataire, ni que les datagrammes d'un message arrivent dans leur ordre d'mission. TCP, au
contraire, possde les qualits requises au prix, bien sr, d'une complexit plus grande. De plus, TCP optimise l'utilisation de la bande passante de la
voie de communication en effectuant un contrle de flux dynamique. Ce contrle de flux et la garantie de dlivrance d'un message sont bass sur la
technique de l'acquittement ; dans la technique de base de l'acquittement, un message reu est acquitt par le destinataire par l'envoi d'un message de
service ACK qui doit revenir l'metteur dans un temps dtermin ; si ce temps est expir, le message doit tre r-mis. TCP utilise une amlioration de
cette technique : un acquittement est envoy, mais il n'est reu par l'metteur qu'aprs l'mission de plusieurs messages par utilisation de la mthode de
la fentre "glissante".

La taille de la fentre est le nombre d'octets que l'on peut envoyer avant de commencer recevoir des acquittements. Cette taille est ngocie lors de
l'tablissement d'une connexion TCP ; des tailles de 4086, 8192 et 16384 sont courantes.
Un message ou unit d'information transporte par TCP est appel segment et constitue une fraction d'un flux continu de bits. La structure d'un segment
TCP est donne ci-dessous :

On constate tout de suite que l'en-tte est plus importante que celle d'un datagramme UDP. Les champs de l'en-tte sont les suivants :
le port source et le port destinataire ;
le numro de squence qui identifie le premier octet de donnes de la zne de donnes ;
le champ acquittement qui identifie le prochain octet qui devra tre envoy ;
long HD qui reprsente la longueur de l'en-tte (en mots de 32 bits) ;
le drapeau URG qui indique que le champ "urgent pointer" contient un pointeur vers des donnes urgentes ;
le drapeau ACK qui valide le champ d'acquittement ;
le drapeau PSH qui indique que le rcepteur doit transmettre immdiatement les donnes reues l'application concerne ;
le drapeau RST qui indique une demande de r-initialisation de la connexion TCP ;

le drapeau SYN qui indique une demande de synchronisation ;


le drapeau FIN qui indique une fin d'mission ;
la taille de la fentre en octets ;
le champ de contrle d'erreur ;
urgent pointer qui pointe le dernier octet de donnes urgentes dans la zne de donnes ;

Lors de l'tablissement d'une connexion TCP, une conversation en trois tapes s'effectue (three-way handshake) :

1. l'metteur envoie un segment avec un drapeau SYN et un numro de squence initial (qui peut tre une valeur alatoire)
2. le rcepteur rpond par un segment comportant le champ ACK valid et un numro d'acquittement qui est le prochain numro de squence qu'il
espre recevoir ; le segment indique galement la validation avec SYN et le numro de squence initial propre au rcepteur (ainsi metteur et
rcepteur changent leurs numros de squence initiaux)

3. l'metteur acquitte le segment envoy par le rcepteur par l'envi d'un segment comportant le champ ACK valid et le champ numro
d'acquittement rempli.
Lors de l'change ultrieur, chaque segment comportera un numro de squence et un numro d'acquittement. Si le volume de donnes par segment est
de n octets et si le numro de squence initial est s0, alors un numro de squence sera de la forme :
s = s0 + k*n + 1
si k segments de donnes ont t dj envoys sans problme. Il en est de mme pour le numro d'acquittement.
La fin d'une connexion peut tre dcide par l'un quelconque des interlocuteurs. Celui qui dcide de mettre fin la connexion envoie un segment
comportant le drapeau FIN, l'autre rpond par un acquittement. Cependant, comme une connexion TCP est full-duplex, cette procdure est effectue
dans les deux sens (autrement dit mettre fin une connexion d'mission n'empche pas de continuer recevoir des segments de la part du rcepteur).
Les deux protocoles UDP et TCP correspondent des besoins diffrents :
TCP a pour rle d'tablir une connexion , de contrler les erreurs, de r-ordonnancer les datagrammes pour reconstituer le message ou l'inverse
de fractionner un message en plusieurs datagrammes. Ce protocole est utile pour un volume important d'informations.

UDP n'est pas orient connexion et n'effectue pas de contrle d'erreur. Par suite, il est plus rapide, mais moins fiable. Ce protocole est utilis
pour la transmission d'informations de faible taille, voire rptitive.

HTTP
HTTP (HyperText Transport Protocol) est un exemple de protocole de la couche application d'Internet. HTTP dsigne le protocole utilis par
l'application communment appele World Wide Web (WWW) ou simplement Web. Cette application est un dispositif client-serveur o le client
demande un serveur de lui envoyer des documents. Ces documents sont simples ou composites et la demande comme la rception de documents est
effectue sur le poste client par un logiciel spcifique appel navigateur (browser).

Principe du serveur http


Un serveur HTTP est un ensemble compos d'une plate-forme informatique, d'un logiciel serveur et de documents. Le logiciel serveur est appel httpd
(http daemon) ou https (http server). Dans la suite, on dsignera le logiciel serveur par httpd.
Les types de documents pouvant tre transmis du serveur au client sont des pages HTML, du texte pur (txt), du texte Postscript (ps), du son (au), des
images (gif, jpg), des images animes (mpeg), des animations 3D (vrml), des applets (java). Mais attention aux documents composites pour les temps
de rponse (1 document HTML contenant 3 images ncessite 4 requtes).
HTML (HyperText Mark-up Language) est un langage de description de document driv de SGML. Il permet de dcrire un document composite
comportant du texte et des images.

Fonctionnement du protocole http


Examinons le protocole HTTP dans le cas o le client demande un document.
Etape 1 : Le serveur attend une requte

Etape 2 : Un client met une requte vers le serveur dont il connat l'adresse URL :
GET /document.htm HTTP/1.0 <CRLF>

Cette chane de caractres est mmorise par le serveur. GET est une mthode ; /document.htm est un document HTML
situ sous la racine du serveur ; HTTP/1.0 indique le protocole et sa version.
Etape 3 : Le serveur analyse la requte.
Etape 4 : Le serveur lit la suite de la requte :
Accept : */* <CRLF>
Accept : image/gif <CRLF>
Accept : image/jpeg<CRLF>
Accept : text/plain <CRLF>
Accept : text/HTML<CRLF>
<CRLF>

L'attribut Accept indique le type de document que le navigateur peut recevoir. Le code <CRLF>, situ tout
seul sur une ligne indique la fin de la requte.
Etape 5 : Excution de la mthode : recherche du document partir du gestionnaire de fichier du systme d'exploitation. Deux cas sont
considrer :
Succs : envoi du document :
HTTP/1.0 200 Document follows <CRLF>
Server : NCSA/1.4 <CRLF>
Date : Mon, 20 Dec 1997 22.00.00 GMT <CRLF>
Content-type : text/html <CRLF>
Content-length : 1328 <CRLF>
Last-modified : Mon, 15 Jun 1993 14.23.96.78 GMT <CRLF>
Envoi du fichier demand <CRLF>
<CRLF>
Echec : envoi d'un message

HTTP/1.0 403 Not Found <CRLF>


Server : NCSA/1.4 <CRLF>
Date : Mon, 20 Dec 1997 22.00.00 GMT <CRLF>
Content-type : text/html <CRLF>
Content-length : 0 <CRLF>
<CRLF>
Etape 6 : Fermeture du fichier, fermeture de la connexion entre le client et le serveur.

Etape 7 : Le serveur httpd se remet l'coute.

Dans la description ci-dessus, un certain nombre d'attributs mritent quelques explications :


a) mthodes :
Il n'y en a pas beaucoup :
GET retourner l'objet demand
HEAD retourner seulement les informations sur l'objet demand
POST stocker l'information (gnralement via un script)
PUT envoyer une nouvelle copie
DELETE dtruire l'objet
(les deux dernires ne sont pas toujours autorises sur le serveur)
b) codes :
200 Document follows (tout va bien)
301 Moved Permanently (le document a t dplac dfinitivement)
302 Moved Temporarily (le document a t dplac temporairement)
304 Not Modified (document non modifi depuis une date spcifie)
401 Unauthorized (document protg)
402 Payment Required (droits acquitter)
403 Forbidden (illgal)
404 Not Found (pas trouv)
500 Server Error (erreur de serveur)
501 Not implemented (non implment)
c) type MIME (Multipurpose Internet Mail Extensions)
dfinition des types de documents :
text/plain ascii pur
text/html document HTML
application postscript document en Postscript

image/gif image en format gif


image/jpeg image en format jpeg
audio/basic son
video/mpeg images animes
x-world/x-vrml animation 3D
exemple : rcupration de pages Web sur un serveur http. En Visual Basic, il est possible de programmer une application qui affiche le contenu d'une
page Web dans une fentre de texte. On constitue pour cela un projet contenant le module DSSock.bas et un module Webessai.frm (dans la feuille
associe, on place un contrle DSSock). Le source de Webessai.frm est donn ci-dessous :
Option Explicit
Dim szReceived As String
Dim serv As String
Dim fic As String
Private Sub DSSocket1_Connect()
gnConnected = True
End Sub
Private Sub DSSocket1_Receive(ReceiveData As String)
szReceived = szReceived & ReceiveData
End Sub
Private Sub DSSocket1_SendReady()
gnSendReady = True
End Sub
Private Sub DSSocket1_Close(ErrorCode As Integer, ErrorDesc As String)
Me.txtText.SelStart = L'en(Me.txtText) + 1
Me.txtText.SelText = szReceived
szReceived = ""
Screen.MousePointer = vbDefault
Enabled = True
gnConnected = False
End Sub
Private Sub Form_Load()
dsSocket1.LineMode = True
dsSocket1.EOLChar = 10
Enabled = False
Screen.MousePointer = vbHourglass
Show
serv = "gmcpc"
fic = "index.htm"
If SocketConnect(dsSocket1, 80, serv, 20) Then
Screen.MousePointer = vbDefault
Enabled = True
MsgBox "Erreur de connexion : " & Error
Exit Sub
Else
SendData dsSocket1, vbCrLf & "GET /" & fic & vbCrLf & vbCrLf
End If
End Sub

Le nom du serveur est plac dans la variable serv et le nom du fichier html est plac dans la variable fic.

Requtes simultanes
Un logiciel httpd se doit de grer des requtes simultanes. Plusieurs mthodes sont employes.
mthode de la filiation : httpd cre un processus fils httpdi chaque connexion pour grer celle-ci. Pour 3 connexions simultanes, on aura donc
la situation suivante :

mthode du " temps partag " : les connexions sont traites morceau par morceau avec des temps d'attente et des temps d'excution.

mthode du pool d'auxiliaires : httpd se borne couter, comme dans la mthode de la filiation, mais au contraire de celle-ci, seul un nombre
fix d'auxiliaires excutent les requtes.

Il convient de noter qu'une machine peut tre multi-serveur, c'est dire hberger plusieurs serveurs Web ; il faut videmment leur attribuer des ports
diffrents. Par exemple , une machine peut hberger 3 serveurs Truc, Chose et Machin avec les affectations : Truc : port 80 ; Chose : port 8080 ;
Machin : port 8081

Quelques serveurs httpd


Les serveurs httpd disponibles un cot raisonnable sont de plus en plus nombreux. Donnons en quelques exemples :
Apache est le serveur http le plus utilis et est disponible pour la plupart des plates formes, mais l'origine conu pour les plates formes Unix
(en fait Linux).Il peut tre tlcharg partir de ftp://ftp.ibp.fr/pub/www/apache/dist/apache_1.1.1.tar.gz.

MIIS (Microsoft Internet Information Server) est un serveur Web/FTP/Gopher qui comprend Windows NT 4.0 et MSDN (MicroSoft Developer
Network). On peut le tlcharger depuis le serveur de Microsoft (http://www.microsoft.com/). Il est assez complet et bien rpandu actuellement.

EMWAC (Centre Acadmique Europen de Microsoft Windows NT en rpublique tchque) offre un serveur gratuit pour Windows NT (mais
qui ne supporte pas WinCGI - voir plus loin). Voir http://emwac.ed.ac.uk/html/internet_toolchest/https/contents.htm.

HTTPD, le serveur de Bob Denny que l'on peut tlcharger partir de http://www.city.net/win-httpd/ peut tre acquis pour un cot de l'ordre de
550 F (version 1.4C pour Windows NT)
WebSite est aussi conu par Bob Denny ; c'est un produit qui a une bonne critique et qui peut tre tlcharg partir de http://website.ora.com
pour un cot de l'ordre de 3000F. Voir aussi http://gnn.com/gnn/bus/ora/news/c.website.html.

Netscape propose des serveurs partir de 3000F . Voir http://home.mcom/comprod/server_central/index.html ou


http://www.netscape.com/comprod/netscape_commun.html. Ces serveurs ne supportent pas WinCGI maisWeblink pour Visual Basic le
remplace.
Serveur Web Personnel (Personal Web Server - PWS) de MicroSoft est un petit serveur trs pratique qui permet de tester ses sites Internet et
mme de monter un Intranet. Il est galement tlchargeable gratuitement partir du serveur Web de MicroSoft. En fait, PWS est un
sous-produit de IIS. Il ne faut toutefois pas le confondre avec le serveur personnel de FrontPage qui porte le mme nom, mais qui est beaucoup
moins performant (quand on utilise FrontPage, il faut soit utiliser le serveur personnel FrontPage, soit PWS (mieux), mais il est dconseill
d'utiliser simultanment les deux).

Webstar est un serveur pour Macintosh. Voir http://www.starnine.com.

Pour trouver des rfrences de logiciels serveurs Web :


http://www.w3.org/hypertext/WWW/Svers.html,
http://sunsite.unc.edu/chris/daemons/index.html,
http://www.yahoo.com/Computers_and_Internet/Internet/Word_Wide_Web/HTTP/Servers.

HTML
HTML (HyperText Mark-up Language) est le langage de description d'un document fourni par un serveur http. Il drive de SGML (Standard
Generalized Mark-up Language) et a t dvelopp spcifiquement pour le Web. Ce langage utilise des balises (tags) signales par les signes "<" et
">"pour indiquer comment sont formats les documents. La structure d'un document HTML est la suivante :
<HTML>
<HEAD>
------------

</HEAD>
<BODY>
-----------</BODY>
</HTML>
La plupart des balises s'utilisent par paires : <balise> et </balise> pour encadrer la partie du document qui doit hriter des attributs spcifis dans les
balises. <HTML> et </HTML> indiquent le dbut et la fin du document HTML. Ce document se compose de deux parties : l'en-tte, encadre par
<HEAD> et </HEAD> et le corps, encadr par <BODY> et </BODY>.
Les balises permettent

de prciser le style

d'insrer des images


de dfinir des listes

de dfinir des tableaux


de dfinir des cadres
de dfinir des formulaires

Par ailleurs, l'hypertexte permet de dfinir des liens sur des objets du document (texte ou image). Chaque lien dfinit une rfrence un fichier par son
URL (Uniform Resource Locator). Les URL sont galement utilises pour lier des ressources un document HTML ; ainsi pour insrer une image on
utilisera la balise IMG :
<IMG src="http://www.truc/site_untel/images/image08>
On trouvera aux adresses (URL) suivantes des guides de HTML :
http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Information_and_Documentation/Beginner_s_Guides/Beginner_s_HTML/
http://www-leland.stanford.edu/~ttores/Internet/toc.html

CGI, Perl, java, javascript


L'interactivit, toujours recherche, ncessite de pouvoir donner l'utilisateur la possibilit d'effectuer des traitements (excuter des programmes).
Diverses techniques sont employs dans ce but :
la plus ancienne est CGI (Common Gateway Interface) qui est un protocole permettant d'effectuer un programme qui se trouve au niveau du
serveur. Ces programmes peuvent tre, en principe, crits dans un langage de programmation quelconque ; un langage trs employ pour
l'criture de "scripts CGI" est Perl. Java est galement un langage assez employ. CGI a t (et est encore) utilis pour des serveurs sur
plate-forme UNIX ; il existe aussi des possibilits pour les serveurs sous Windows : WinCGI.

une autre faon de procder est de lier un document des programmes qui peuvent tre tlchargs de manire transparente pour l'utilisateur.
Dans ce cas, l'excution s'opre au niveau du poste client. Les applets java appartiennent cette catgorie. Il s'agit de programmes crits en java
et compils qui sont lis des documents HTML.

une version du procd ci-dessus est galement fournie avec javascript qui est un langage interprt, plus simple que java ; les scripts crits en
javascript apparaissent en clair dans le document HTML et font partie inhrente du document. On trouvera une introduction javascript
l'adresse : http://www.u-picardie.fr/~cochard/javascript.

Bibliographie

K.JAMSA,K.COPE

Internet Programming

Jamsa

C. SERVIN

Telecoms, de la transmission
l'architecture de rseaux

Masson

W. STALLINGS

Data and Computer


Communications

Prentice Hall

P. ROLLIN,
G. MARTINEAU,
L. TOUTAIN,
A. LEROY

Les Rseaux, principes


fondamentaux

Hermes

A. TANENBAUM

Rseaux

InterEditions

N.J. YEAGER, R.E.


McGRATH

Technologie des serveurs Web

International Thomson
Publishing

C. FRANKLIN

Programmation Internet en
Visual Basic

International Thomson
Publishing

CNRS & Universits

L'Internet professionnel

CNRS Editions