serveurs http
TRANSCRIPT
-
8/14/2019 Serveurs HTTP
1/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-1
Internet
P rotocole e t serve u rs
HTTP
Michel Buffa, S tphane Laveau
Universit de Nice Sophia AntipolisUFR Sciences
Parc Valrose, NiceTlphone : 92 96 5115 Tlcopie : 92 96 51 55
Email : [email protected]
-
8/14/2019 Serveurs HTTP
2/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-2
Le Web: Comment ca
marche?
Serveurwww.truc.com
Proxy
ClientNetscape
Programmesexternes
.mime-types.mailcap
Internet
-
8/14/2019 Serveurs HTTP
3/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-3
HTTP: Le protocole
TCP Port 80 par dfaut.
Connectionless
Client :
Requte Enttes
Serveur :
Code Rponse Enttes Rponse
Conu pour tre le plus simplepossible.
http://www.w3.org/hypertext/WWW/Protocols/HTTP/HTTP2.html
-
8/14/2019 Serveurs HTTP
4/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-4
Requtes
GET : Document
Script Mise jour
POST : Script
HEAD : Entte
PUT,DELETE, etc...
http://www.w3.org/hypertext/WWW/Protocols/HTTP/Request.html
-
8/14/2019 Serveurs HTTP
5/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-5
Classes de rponses
2xx: Succs 200: OK
3xx: Redirection 304: Inchang
4xx: Erreur Client 401 : Non Autoris 404 : Document inexistant
5xx: Erreur Serveur 500: Erreur script (entre autres)
600 : Erreur Gateway/Cache non standard
http://www.w3.org/hypertext/WWW/Protocols/HTTP/HTRESP.html
-
8/14/2019 Serveurs HTTP
6/21
-
8/14/2019 Serveurs HTTP
7/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-7
Entte de requte (2)
User-Agent: Un identificateurdu client
utile pour rpondre diffremmentsuivant les clients, ou pour dbug-ger.
ex: Mozilla 2.0b3 (X11; SunOS2.4)
Referer: la page dou lon vient.
Authorization: login passwd
Assez faible question scurit
If-Modified-Since: Date permet de transfrer la page que
si elle a t modifie (*trs* utilepour les caches)
Pragma: no-cache Cest le seul dfini, en thorie cest
un peu fourre-tout.
http://www.w3.org/hypertext/WWW/Protocols/HTTP/
HTRQ_Headers.html
-
8/14/2019 Serveurs HTTP
8/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-8
Entte de rponse
Server : Type de serveur
Date :
Last-Modified: Utile pour les caches.
Content-Type: Le type MIME text/html image/gif application/postscript text/plain audio/basic video/mpeg
Content-Length: la longueurdes donnes en octets.
Utile pour savoir si tout sest bienpass.
Non obligatoire...
-
8/14/2019 Serveurs HTTP
9/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-9
Entte de rponse(2)
Content-Encoding x-compress, x-gzip, x-zip
Content-Language
http://www.w3.org/hypertext/WWW/Protocols/HTTP/
Object_Headers.html
http://www.w3.org/hypertext/WWW/Protocols/rfc1341/
0_Abstract.html
http://home.netscape.com/assist/helper_apps/mime.html
http://www.yahoo.com/Computers_and_Internet/Multimedia/MIME/
http://andrew2.andrew.cmu.edu/cyrus/email/standards-MIME.html
-
8/14/2019 Serveurs HTTP
10/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-10
Rponse
Un seul objet par rponse Pas de type MIME multipart/*
part dans certaines animations(voir plus tard).
Pour linstant....
-
8/14/2019 Serveurs HTTP
11/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-11
Un serveur
Diffrents types: Netscape (Unix/Windows NT) Apache NCSA 1.5 CERN (dpass) WebStar (Windows) MacHTTP (Mac) Spinner etc...
http://www.proper.com/www/servers-survey.html
http://www.yahoo.com/Computers_and_Internet/Internet/
World_Wide_Web/HTTP/Servers/
Apache: Gratuit (licence de type GNU) Modulaire Simple (!) Efficace (pas de forking furieux) Dveloppement actif
http://www.apache.org/
-
8/14/2019 Serveurs HTTP
12/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-12
Structure dun serveur
Transformation URL -> fichierou script.
Vrification didentit. Le client est il qui il prtend tre ?
Vrification daccs. Le client est il autoris effectuer
cette requte ?
Dtermination du type MIMEdes donnes.
Envoi de la rponse au client.
Mise jour les logs.
-
8/14/2019 Serveurs HTTP
13/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-13
Configuration
3 fichiers en gnral httpd.conf (ou option -f) srm.conf (ou ResourceConfig) access.conf (ou AccessConfig) mime.types (ou TypesConfig)
3 fichiers de logs (par dfaut) pid error_log access_log
-
8/14/2019 Serveurs HTTP
14/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-14
Que peut faire un serveur?
Servir une page en ajoutant lesenttes appropris.
Cas le plus commun
Servir une page telle quelle. Utile pour des pages expiration
rapide par exemple.
http://www.apache.org/docs/mod_asis.html
Excuter un script et renvoyer
le rsultat comme une page Interprtation de formulaires, etc...
http://www.apache.org/docs/mod_cgi.html
Excuter un script et renvoyer
le rsultat tel quel. Script dits nph- Roulettes et code de rponse
autre que 200 OK.
-
8/14/2019 Serveurs HTTP
15/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-15
Que peut faire un
serveur?(2) Vrifier la machine dorigine (ou
le dernier proxy sur la chane). Certaines autorisations. Redirection suivant la localisation
gographique (foireux).
http://www.apache.org/docs/mod_access.html
Vrifier un mot de passe et unlogin.
Autorisation un petit peu labore. Equivalent au login Unix (=faible)
http://www.apache.org/docs/mod_auth.html
Construire une page au volavec des ordres spcifiques.
Equivalent de #include Permet dinsrer le rsultat descripts dans des pages (comp-teurs, etc...)
http://www.apache.org/docs/mod_include.html
-
8/14/2019 Serveurs HTTP
16/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-16
Que peut faire un
serveur?(3) Reconnatre les enttes de
requtes et servir des pagesdiffrentes suivant le client ou
ses prfrences. Avoir des pages diffrentes pourchaque browser.
Parler la langue demande.
http://www.apache.org/docs/content-negociation.html
http://www.apache.org/docs/mod_mime.html
Lister des directories.
http://www.apache.org/docs/mod_dir.html
Encrypter les donnes et scu-riser les transactions.
http://www.algroup.co.uk/Apache-SSL/
-
8/14/2019 Serveurs HTTP
17/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-17
Que peut faire un
serveur?(4) Renvoyer des pages derreurs
customises. Rediriger les non-autoriss vers
un formulaire dinscription
http://www.apache.org/docs/custom-error.html
Rpondre diffremment suivantle nom de la machine.
Diffrentes adresses IP ou inter-face virtuelle.
Permet davoir plein de serveurspeu actifs sur la mme machineappartenant des organisationsdiffrentes.
http://www.apache.org/docs/virtual-host.html
-
8/14/2019 Serveurs HTTP
18/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-18
Caches/Proxies
Firewall/scurit Un rseau isol communique via
une machine passerelle. Proxies
Diminuer la charge sur lesrseaux.
Plusieurs utilisateurs vont cher-cher la mme page. Elle traverseplusieurs fois lAtlantique, et cestlent.
Caches
http://harvest.cs.colorado.edu/
http://www.w3.org/pub/WWW/Daemon/User/Proxies/Proxies.html
http://home.netscape.com/comprod/proxy_server.html
-
8/14/2019 Serveurs HTTP
19/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-19
Caches/Proxies:
Problmes
Que cacher (ou pas) ? Heuristi-ques:
cgi-bin
?
Confidentialit. Documents rservs une organi-
sation. Logs de toutes les oprations par
machine.
Comment dterminer le temps vivre ?
Expires: Last-modified: 2 dures de vie : lune sans vrifi-
cation, lautre avec.
-
8/14/2019 Serveurs HTTP
20/21
Etud e d internet - p roto c oles et serveurs HTTP
Mic hel Buffa 1995 Internet-20
Caches/Proxies:
Problmes Place disque.
Il faut environ 500M pour une cen-taine de personnes.
Les caches font apparatre plu-sieurs utilisateurs comme unseul.
Les donns dans le cache sontparfois errones. Il faut quelutilisateur puisse forcer lerechargement.
http://www.hensa.ac.uk/wwwcache/
http://www.hensa.ac.uk/wwwcache/local.cache.guidelines.html
http://web.pasteur.fr/other/computer/cache/
-
8/14/2019 Serveurs HTTP
21/21
Etud e d internet - p roto c oles et serveurs HTTP
HTTP: Le Futur
Connections persistantes. Keep-Alive (Netscape, NSCA 1.5)
HTTP-NG Entte en binaire Connections persistantes
Scurit/Encryption HTTPS (Netscape) SHTTP, SMIME (Spry)
Paiement
http://hoohoo.ncsa.uiuc.edu/docs/howto/KeepAlive.html
http://www.w3.org/pub/WWW/Protocols/HTTP-NG/http-ng-status.html
http://www.ics.uci.edu/pub/ietf/http/
http://home.netscape.com/newsref/ref/netscape-security.html
http://www.spry.com/secure.htm
http://www.w3.org/pub/WWW/Payments/
http://www.globeonline.fr/
http://www.fv.com/