serveurs http

Upload: mass-murderer63

Post on 31-May-2018

216 views

Category:

Documents


0 download

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/