Académique Documents
Professionnel Documents
Culture Documents
00 HTTP
00 HTTP
00 HTTP
Au sommaire
n n n n n n
Historique Le protocole HTTP Les mthodes GET et POST Les Cookies Les Serveurs HTTP Autour d HTTP
Le Protocole HTTP
n
Principe de fonctionnement
n
connexion demande (GET) d un document renvoi du document (status=200) ou d une erreur dconnexion
n
srie de plusieurs requtes avec une connexion Connexion KeepAlive de HTTP/1.1 (RFC 2068)
3
Dialogue HTTP
exemple de rcupration d un document par la mthode POST /script
Entte de la requte
doc.htm
Client
Port 80
HTTPD
Format de la requte
n
Mthodes de la requte
n
GET
n
demande pour obtenir des informations et une zone de donnes concernant l URI demande pour seulement obtenir des informations concernant l URI envoie de donnes (contenu du formulaire vers le serveur, ). Ces donnes sont situes aprs l entte et un saut de ligne. enregistrement du corps de la requte l URI indiqu suppression des donnes dsignes par l URI association (et dsassociation) des informations de l entte au document sur le serveur demande des options de communication disponibles
HEAD
n
POST
n
PUT
n
DELETE
n
LINK / UNLINK
n
OPTIONS
n
TRACE
Format de la rponse
n
Rponse envoy par le serveur au client HTTP/<Version> <Status> <Commentaire Status> Content-Type: <Type MIME du contenu> [< Champ d entte >: <Valeur>] [<tab><Suite Valeur si >1024>] HTTP/1.0 200 OK Ligne blanche Date: Wed, 02Feb97 23:04:12 GMT Document Server: NCSA/1.1
MIME-version: 1.0 Last-modified: Mon,15Nov96 23:33:16 GMT Content-type: text/html Content-length: 2345 * une ligne blanche * <HTML><HEAD><TITLE> </BODY></HTML>
Status de la requte
n
100-199
n
Informationnel Succs de la requte client Redirection de la Requte client Requte client incomplte Erreur Serveur
100 : Continue (le client peut envoyer la suite de la requte), ... 200: OK, 201: Created, 204 : No Content, ... 301: Redirection, 302: Found, 304: Not Modified, 305 : Use Proxy, ... 400: Bad Request , 401: Unauthorized, 403: Forbidden, 404: Not Found 500: Server Error, 501: Not Implemented,
200-299
n
300-399
n
400-499
n
500-599
Enttes HTTP
n
Gnral
n
commun au serveur, au client ou HTTP formats de documents et paramtres pour le serveur information concernant le serveur informations concernant les donnes changs
Requte du client
n
Rponse du serveur
n
Entit
n
n n n n
n n
Date = date actuelle (format RFC1123 mais aussi RFC850). MIME-Version = version MIME utilis. Pragma = instruction pour le proxy. Transfer-Encoding = type de la transformation applique au corps du message. Upgrade = indique le protocole soutait. Via = utilis par les proxys pour indiquer les machines et protocoles intermdiaires.
Accept = type MIME visualisable par l agent Accept-Encoding = mthodes de codage acceptes
n
n n
fr, en, BASIC nom:mot de passe (en base64) donc transmis en clair !!! NB : Pralablement le serveur a rpondu un WWW-Authenticate
11
rarement envoy pour conserver l anonymat de l utilisateur un serveur peut hberger plusieurs serveurs la page n est transfre que si elle a t modifie depuis la date prcise. Utilis par les cachs indique si le document demand peut tre cach ou pas.
n n n n
If-Unmodified-Since = condition de retrait If-Match = condition de retrait If-None-Match = condition de retrait If-Range = condition de retrait
Max-Forwards = nombre max de proxy Proxy-Authorization = identification Range = zone du document renvoyer
n
bytes=x-y (x=0 correspond au premier octet, y peut tre omis pour spcifier jusqu la fin) page contenant l ancre partir de laquelle le visualisateur a trouv l URL.
13
Accept-Range = accepte ou refus d une requte par intervalle Age = anciennet du document en secondes Proxy-Authenticate = systme d authentification du proxy Public = liste de mthodes non standards gres par le serveur Retry-After = date ou nombre de secondes pour un ressai en cas de code 503 (service unavailable) Server = modle de HTTPD
n
n n n
Set-Cookie = crer ou modifie un cookie sur le client Vary = l entit possde plusieurs sources Warning = informations supplmentaire du code d tat
n
pour la rsolution des URL Utilis par les caches utilis par le client pour gauger la progression des chargements compress, x-gzip, x-zip fr, en ... quand l URI est plusieurs endroits
15
Content-MD5 : rsum MD5 de l entit Content-Range : position du corps partiel dans l entit
n
bytes x-y/taille
7bit, binary, base64, quoted-printable utilis par le client pour slectionner le visualisateur (plugin) RFC2045 7bit, binary, base64, quoted-printable
Expires : date de premption de l entit Last-Modified : date de la dernire modification de l entit Location : URI de l entit
n
n n n
17
Internationalisation
n
Language Accept
n
fr, de, it, en, sq (albanais), ru, (russe), ja (japonais), zh (chinois), el (grec), he (hbreu), ca (catalan) ... par dfaut ISO-8859-1 (Latin-1)
n n n n n n n n n
ISO-8859-2 (hongrois, albanais, ) ISO-8859-4 ISO-8859-5, KOI8-R (russe, bulgare, polonais) ISO-8859-7 (grec) ISO-8859-8 (hbreu) ISO-8859-9 (turc) Shift_JIS, ISO-2022-JP, EUC-JP (japonais) Big5 (chinois simplifi) GB2312(chinois traditionnel - Taiwan)
Rcupration d un Document
Mthode GET
GET /doc.htm Client
le Client envoie
doc.htm
GET /doc.htm HTTP/1.0 mthode,chemin,version Accept: www/source documents accepts Accept: text/html le Serveur rpond Accept: image/gif User-Agent: Lynx/2.2 libwww/2.14 HTTP/1.0 200 OK ligne de status Date: Wed, 02Feb97 23:04:12 GMT From: alice@pays.merveilles.net Server: NCSA/1.1 * une ligne blanche * MIME-version: 1.0 Last-modified: Mon,15Nov96 23:33:16 GMT Content-type: text/html type du document retourn Content-length: 2345 sa taille * une ligne blanche * <HTML><HEAD><TITLE> ...
19
Soumission d un Formulaire
Mthode GET
GET /script?name1=value1&name2=value2 Client
le Client envoie
script
GET /script?name1=value1&name2=value2 HTTP/1.0 Accept: www/source documents accepts Accept: text/html le Serveur rpond Accept: image/gif User-Agent: Lynx/2.2 libwww/2.14 HTTP/1.0 200 OK ligne de status Date: Wed, 02Feb97 23:04:12 GMT From: alice@pays.merveilles.net Server: NCSA/1.1 * une ligne blanche * MIME-version: 1.0 Last-modified: Mon,15Nov96 23:33:16 GMT Content-type: text/html type du document retourn Content-length: 2345 sa taille * une ligne blanche *
Soumission d un Formulaire
Mthode POST
POST /script Client
le Client envoie POST /script HTTP/1.0 Accept: www/source Accept: text/html Accept: image/gif User-Agent: Lynx/2.2 libwww/2.14 From: alice@pays.merveilles.net * une ligne blanche * name1=value1& name2=value2
script
le Serveur rpond HTTP/1.0 200 OK Content-length: 2345 * une ligne blanche * <HTML><HEAD><TITLE> ...
21
Les valeurs passes (URL et contenu des entres des formulaires) doivent tre sur 7 bits et sans caractres spciaux
Espace -> + Tous les caractres spciaux et accentus -> %code ascii
n n
%40 %e9
Les entres des formulaires sont encods dans une chane compose de paires (nom de l entre)=(valeur de l entre) spar par de &
n
nom=Dupont+Jean&adresse=3+rue+de+la+ Gait%e9%0a75014+Paris
dans le JDK :
n
Visualisation native
n
text/html, image/jpeg
la fonction est prsente dans un DLL, SO, ou un JAR elle est lie dynamiquement pour raliser la visualisation
n
world/vrml, text/tex
Visualisation externe
n n
la fonction n est pas prsente dans le client le client rapporte le document et le sauvegarde dans un fichier temporaire
n
video/mpeg, application/postscript
23
Motivation
n
n n n n n
<FORM ACTION="/servlet/UploadTest" ENCTYPE="multipart/form-data" METHOD=POST> Your name? <INPUT TYPE=TEXT NAME=submitter> <BR> Your first file to upload? <INPUT TYPE=FILE NAME=file1> <BR> Your second file to upload? <INPUT TYPE=FILE NAME=file2> <BR <INPUT TYPE=SUBMIT> </FORM>
Rponse Multi-parties
n
Codage
n n
Comportement
n
le navigateur affiche le sous-document suivant ds qu il commence le recevoir aprs avoir effacer la fentre.
n
Rponse Multi-parties
Exemple
Content-Type : multipart/x-mixed-replace;boundary=End65577565679001838 Le serveur dfinit une chane ligne blanche sparateur des documents --End65577565679001838 Content-Type : text/html ligne blanche Le serveur attend 1 seconde <HTML><BODY><H1>Trois </H1><BODY></HTML> avant de renvoyer la suite : --End65577565679001838 Content-Type : text/html ligne blanche <HTML><BODY><H1>Deux </H1><BODY></HTML> --End65577565679001838 Content-Type : text/html ligne blanche <HTML><BODY><H1>Un </H1><BODY></HTML> --End65577565679001838 Content-Type : text/html ligne blanche <HTML><BODY><H1>Partez ! </H1><BODY></HTML> --End65577565679001838
le client affiche Trois
Le serveur clt la connexion TCP/IP avant de renvoyer la suite : le client affiche finalement Partez ! 27
Motivations :
n
commerce lectronique
n
le serveur ne maintient pas d informations lies aux requtes prcdentes d un mme client. HTTP est donc sessionless
Mthodes
n
Le serveur gnre un identificateur de session et associe un ta t (et une date limite de validit) une session Le client renvoie l identificateur de session chaque requte HTTP vers le serveur
Input HIDDEN dans les formulaires Rcriture des URLs (EXTRA_PATH) Cookies (dactivable) Identificateur de session SSL (Secure Socket Layer)
29
documents, CGI, SSS, Servlet, ASP le serveur maintient un contexte de session et y associe un identifiant de session input HIDDEN
n
3 solutions de suivi
n n
la R-criture d URL
n
contient l identifiant de la session l identifiant dans chaque URL (dans les documents) information positionne par le serveur sur le client puis envoy par le client chaque requte
n
les Cookies
n n
Implantation
n
Suivi de Session
n n
une entre HIDDEN par formulaire (i) Chaque rponse retourne par le serveur est un formulaire qui contient un identifiant cach dans une entre HIDDEN page de proposition Exemple
<FORM METHOD="POST" ACTION="/cgibin/command"> <INPUT TYPE="ckeckbox" NAME="art12387"> Chaussures ... </FORM>
rponse de /cgi-bin/command
<FORM METHOD="POST" ACTION="/cgi-bin/envoi"> <INPUT TYPE="hidden" NAME="TransID" VALUE="54109848932> Nom: <INPUT TYPE="text" NAME="nom"> Adresse: <INPUT TYPE="text" NAME="adresse"> N de Carte de Credit: <INPUT TYPE="text" NAME="numcarte"> ... <INPUT TYPE="hidden" NAME="Language" VALUE="French> </FORM>
31
Suivi de Session
n n
Suivi de Session
n
Dans le PATH
n
n
n
devient
http:// www.mycomp.com /182993954/cgi -bin/envoi?name =toto http:// www.mycomp.com /cgi-bin/ envoi?name=toto
Dans l EXTRA-PATH
n
n
n
devient
http:// www.mycomp.com /cgi-bin/envoi/sid$182993954? name=toto
Limites
n n
URL gnre par un script (=>programmation) ou parsing des documents HTML retourns
n
mais disfonctionnement en prsence de scripts JavaScript ou VBScript gnrant eux aussi des URL !
33
Suivi de Session
n n
les Cookies [Netscape puis RFC2109] chane dcrivant l'tat d'une session
n n n n
NAME=VALUE; expires=DATE; path=PATH_HEAD; / << /foo << /foobar ou /foo/bar.html domain=DOMAIN_TAIL; fr << mycomp.fr << sales.mycomp.fr
Limite
n
300 cookies simultanes par client, 20 cookies par serveur ou domaine, 4Ko par cookie (limite la taille des VALUEs)
communiqu dans les enttes de requtes et dans les enttes des rponses HTTP accessible par les scripts JavaScript dans une page HTML
Client demande
GET /command.html Cookie: CUSTOMER=DUPONT;
Client demande
GET /shipping.html Cookie: CUSTOMER=DUPONT; Set-Cookie:
Client demande
GET /commandother.html Cookie: CUSTOMER=DUPONT; PARTNUM=01;
Client demande
GET /shipfedex1.html Cookie: CUSTOMER=DUPONT; SHIPPING=shipfexed; ...
35
Les cookies menacent la vie prive (privacy) des cybernautes bien qu ils soient trs utiles les navigateurs peuvent dsactiver les cookies
en vue d un accord juridique entre le client et le site sur
n
ex : nom, prnom, adresse mais pas l age ou le nombre d enfants ex : cession des informations des tiers ex: je me suis mari
37
Echange P3P
39
Problmatique
n
Abandonn depuis
41
HTTP-NG SMUX
n
Problmatique de SMUX
n n
HTTP : protocole trs li TCP/IP Consommation des ressources (rseaux, proxy, serveurs)
n
document + inclusions : images, applets, reste srielle, force les navigateurs parallliser n vite les reformatages pour les images de dimensions inconnues
Multiplexage
n n
To serve either the RDF version or the complete image using existing browsers and tools, the best way was to use Content Negotiation. Of course, that doesn't exclude the use of other techniques, such as HTTP extensions, to be able to retrieve and store metadata in a better way. Using Content Negotiation has two benefits: it will work right away with all text based browsers (lynx, emacs with emacsspeak, etc.) and the output can be rendered directly by selecting, e.g., the title or the description from the RDF. Also, an RDF crawler will be able to get all the descriptions of a collection of photos to create a knowledge database, just by asking for the right MIME type. In Jigsaw [Jigsaw], a frame has been created, to simulate two different resources under the same URI, the one of the image itself. Those two resources have their own set of HTTP values, such as ETags, Content -Length and others and the result is sent out using the classic Content Negotiation of HTTP. The rdf can be also fetch directly without doing Content Negotiation, just adding the wanted mime type after ';' ex: foo.jpg;text/rdf
43
Didier DONSEZ
Universit de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr
(browser Web)
Rcupre un document puis visualise ce documen le tout premier : NCSA Mosaic Netscape Communicator MS Internet Explorer Javasoft HotJava NeoPlanet Lynx (pour VT, Minitel 24x80), AvantGo, Pocket Explorer
MS IE NS Reste 86.08% 33.43% 0.5%
45
Sur station
n n n n n n n
Palmares d utilisation
n n n
Mais aussi
n
Ladtop, PDA, Rcuperation en push dans un cache Puis consultation des documents dans le cache
n n
Le client est-il qui il prtend tre ? Le client est-il autoris effectuer cette requte ?
n
Vrification d'accs
n
ACL,
47
BASIC
n n
nom d utilisateur et mot de passe chang en clair (base64) ! base des mots de passe dans un fichier htpasswd
n
DIGEST
n n
scurisation de BASIC hachage scuris MD5 du (nom,password,URI, mthode,nombre alatoire fourni par le serveur) Secure Socket Layer (TLS : Transport Layer Security) authentification avec CA du serveur (2.0) et du client (3.0) confidentialit avec DES puis dialogue HTTP sur la connexion SSL
SSL
n n n n
L authentification applicative
n
Motivations
n n
n n
gestion des tables d usager une session est ensuite ouverte associ un usager authentifi (ou non : par exemple rejet bout de 3 tentatives) TomCat peut de preciser les documents de login et derrreur pour une arborescence de documents/servlets/JSP
49
Remarque
n
spcifie les autorisations (ALLOW) ou les interdictions (DENY) d accs une arborescence virtuelle du serveur en fonction
n n
les accs (access.log, refferee.log), et les erreurs (error.log), sont journaliss erreur dans les liens, clientle, analyse d activit,
Pour Apache
n
AccessWatch, Wusage,Analog, wwwstat intgr et visualis par un script Net Analysis (Net Genesis), Enterprise Suite (Web Trends)
51
IIS, NS
n
Gnraux
n
Apache HTTPD Netscape Entreprise Server Microsoft Internet Information Server W3C Jigsaw Sun JavaServer Oracle Web Server IBM Web Sphere gestion des sessions, des transactions, accs aux serveurs d applications, ...
Fonctionnalits supplmentaires
n n
Apache
n
serveur le plus rpandu (60% des serveurs au 09/2000) gratuit, issu du serveur NCSA HTTPD trs nombreuses plates-formes Unix et Windows NT extensible par des modules tiers possibilit dtendre Apache avec des modules externes (http://www.zyzzzyva.com/server/module_registry)
n
mod_auth_cookies_file, mod_auth_cookies_msql, mod_cgi_sugid, mod_perl, mod_perl_fast, mod_auth_kerb, mod_auth_dbi, mod_rewrite, mod_jserv (servlet), mod_java (CGI crit en Java), php3
nombreux sous-projets autour de Java (Jakarta) et XML (Xerces, Xalan, XSP, Cocoon, )
53
Configuration Apache
n
Fichiers de configuration
n
httpd.conf
n
comportement de base
n
srm.conf
n
access.conf
n
mime.types
n
Outil
n
JavaServer (jserv.sun.com)
n
anciennement Jeeves , crit en Java Scripts serveur crit en Java Servlets de Base : FileServlet, CGIServlet,
Servlets
n n
Remarque
n n
le bytecode d une servlet peut tre tlcharg et execut par la JVM du Serveur (dans un espace protg ou non) JigSaw du W3C fonctionne suivant le mme principe
55
Tomcat et Jserv
n
(java.apache.org)
JServ : module dextension Apache
n
Dmarre une JVM et invoque des servlets Utilis dans le JSDK Apache Server mod_xxx
(.dll, .so)
Configuration possible
TomCat Server
HTML AJP12
mod_jserv
(.dll, .so)
servlet/jsp
servlet/jsp
Autour d HTTP
n
Proxy
n
scurit, firewall
accs des protocoles non implments par les clients Web : WAIS, soulager les accs externes (moins de bande passante) rplication d une base documentaire amliorer le temps de rponse, soulager le rseau rcupration online/offline d une arborescence de documents constitution d un miroir local copie publique / copies de travail Point daccs centralisant un ensemble de sources Web Serveur HTTP pour informatique enfouie et embarque
57
Cache
n
Miroir
n n
Robot
n n
Portail
n
Proxy
n
Fonctions
n
WAIS
Proxy HTTP+HTML / WAIS Serveur WAIS Z35.50
Fonctionnement du Proxy/Cache
GET /fichier Client HTTPD fichier port 80 machX
GET /ficX Proxy port 8080 cache machP GET /ficY machY Internet
59
ficX
GET http://machY/ficY
ficY
Entreprise
Cache Web
n
Usager
n
Amliorer les performances du browser en utilisant les documents prsents dans le cache local Soulager le rseau fdrateur en cachant les documents demands par les usagers du sous-rseau Soulager les serveurs applicatifs
ISP
n
Provider Web
n
Documents
n n
Serveurs
Il fonctionne en mode Proxy
Cache Web ii
n
conserve la date du dernier accs comptage du nombre de rfrences viction des documents les moins rfrencs LFU + prise en compte de la dure de la prsence dans le cache prise en compte la taille GDS + prise en compte du nombre de rfrence
LFU-Aging
n
61
Cache de Caches
n
exemple : RENATER cache Client -> cache Sous Rseau -> cache Backbone -> ...
quilibrage dynamique entre plusieurs caches de mme niveau mise jour, redirections de requte
Gestion du Cache
Le document est il dans le cache ? Non Oui Le document est il prim ? date d expiration dpasse Oui Non : le cache arrte la connexion avec le serveur et retourne au client le document cach le cache dmarre la rcupration Le document a til t modifi ? date de modification identique Oui Le serveur continue la rcupration mme si le client interrompt la connexion Le document est rcupr, mis dans le cache, retourn au client
63
Non
Miroir
n
But
n
acclre l accs au document diminue la contention d accs au site diminue le trafic global sur Internet dclenchement automatique, manuel, push incrmentale / non
Robot
n n
(Aspirateur de Site, Glaneur, ...) Rcupration d une arborescence de documents partir d une URL racine
n
Rgles de rcupration
n n
par rapport aux extensions (que les textes) profondeur du suivi de URL et limite de la rcupration heures creuses (dbit et $)
Dclenchement programm
n
Produits
n
nombreux freewares/sharewares
n
Remarque
n n
Actuellement, chaque auteur travaille sur une copie locale et remplace la copie publie sur le Web par celle-i rgulirement
WebDAV (i)
n
www.webdav.org, www.ics.uci.edu/pub/ietf/webdav
Notions
n
Propertie (proprit)
n
dcrit un document (auteur, taille, date de dernire modification, ...) au format XML/RDF
n n
verrou partag (shared) / verrou exclusif (exclusive) groupement logique de ressource pour la gestion (verrouillage, contrle d accs, ...)
67
WebDAV (ii)
n
PROPFIND
n
retourne les proprits modifie les proprits cre une nouvelle collection copie ou dplace une ressource au sein d un espace de nommage verrouille et dverouille un ressource
PROPPATCH
n
MKCOL
n
WebDAV (iii)
n
www.webdav.org/mod_dav
www.lyra.org/sitecopy
WebDAV Explorer
n
www.ics.uci.edu/~webdav
69
Portail (i)
n
Objectif
n
Intra-entreprise
n
Contenu : Favorite links, Agenda, Mail, Incident, Contenu : Info Bourse, Enchre, Mto, News Headline
Grand public
n
Fonctionnalits
n
n
Scurisation (SSL, X509, cookie ) en fonction de lusager, de son role, de son emplacement gographique, Composition dynamique (utilisation dassistants, )
Personnalisable(Self-Service)
n
Multi-Accs (PC, Tlphone Cellulaire, PDA, ) Oracle Portal, NetPortal, WebPortal, iPlanet Portal, Apache JetSpeed,
Outils
n
Portail (ii)
n
Prsentation
n
n
frame, card, )
Dveloppement
n
n
Portal Server
HTML/CSS XML/XSL WML VoiceML HTTP WAP
Internal Web Provider Internal Web Provider External (Meteo ) Web Provider External (Bourse) Web Provider
Client
71
Rappel : HTTP est un protocole trs rpandu et trs outill Dialoguer (piloter) avec des ordinateurs enfouis ou embarqus via HTTP
n
Motivation
n
Rseaux
n
Routeurs, .. Tlphonie cellulaire, Rpondeur domestique, Proxy Domotique pilotant lalarme, le chauffage, Frigidaire TV, HIFI, Digital Camera, Consoles de Jeux
Electronic consuming
n
Domotique
n
Entertainement Network
n
Empreinte memoire rduite, Sun JES (Java Embedded Server), Apache PicoServer
Cartographie du Web
n
Reprsentation de la carte
n
Outils et sites
n
73
Rapports d audience
n
webmaster : dimensionner le systme (priode de charge) commercial : pister le client dans sa navigation investisseur : le rassurer avant l introduction en Bourse ;-) publicitaire : fixer le prix des bandeaux publicitaires
Comment
n n
socit tierce indpendante proposant des rapports normaliss (Exemple : www.estat.com, ...). chaque page tracer contient une image transparente de 1x1 pixel qui est charge depuis la socit tierce. La socit tierce comptabilise les chargements.
n
75
La Personnalisation
n
Motivations
n n
Les usagers d un site ont des gots et des besoins diffrents La personnalisation tente d offrir l usager une interface correspondant le plus possible ses gots et ses besoins
Solutions
n
Analyse (E-Analytics)
n
Motivation
n
Vrification du niveau de charge support avant la mise en production 1 N clients en parallle qui mulent M Web surfing sur le site Remarque : Mmes outils pour les attaques DoS (Deny-Of-Service) et Distributed DoS TPC-W http://www.tpc.org (voir Cours Benchmarks BD) WebMark : orient requte HTTP/GET sur des documents statiques SPECWeb : http://www.spec.org/osg/web96/workload.html Dtecter quel composant (HTTPD, EJB, MT, SGBD, Mailhost, ) cre lembouteuillage (bottleneck) Apache JMeter, Rational SiteLoad,
Simulateur de charge
n n
Benchmark
n n n
Outils
n
77
(Load Balancing)
Motivations
n
Performance
n
n n
QoS pour diffrentes classes dusagers (gold, silver, ) volution incrmentale de la ferme (parc) de serveurs Tolrance aux pannes
n
Disponibilit
n
Diffrents niveaux de disponibilit Le serveur Europe reoit les requtes des clients franais
Voir:
n
V. Cardellini, M. Colajanni, P.S.Yu, Dynamic Load Balancing on WebServer Systems, IEEE Internet Computing, May-June 1999, pp28-39
Rpartition de Charge
n
Architecture
n n
Serveur WWW Gold France Serveur WWW France Serveur WWW Europe
79
Disponibilit
n
Fonction
n
rpartir les requtes entre les serveurs Web donneur de cartes (Round Robin) alatoire vers les serveurs les moins chargs topologique
n
Politiques de rpartition
n n n n
Offrir diffrentes QoS (temps de rponse, ) Une session dmarre sur un serveur doit continuer sur ce serveur
n
Fournisseurs
n
Niveau 3 IP
n
une adresse DNS correspond une liste dadresses IP tester nslookup plusieurs fois de suite sur www.sun.com
Niveau 4
n
Niveau 7 Applicatif
n
n n
Dtection du Cookie de la classe dusager dans une requte HTTP Dtection du Cookie de lidentifiant de session dans une requte HTTP
2 types de page
n
Dynamique
n n
Le contenu varie chaque requte Le contenu peut rester constante pour un client au cours de sa session Le contenu ne varie pas jusqu la prochaine modification
n
Statique
n
Exemple : Mise jour des nouvelles du jour tous les matins 7H00 GMT
Les caches
n n
dans les proxys et dans les navigateurs utilise la date dexpiration du document Pour viter que le navigateur recharge le document inutile (ce qui charge le serveur), configurez les dates dexpiration des documents sur le serveur Web et dans les enttes des rponses des scripts.
83
Conseil
n
Remarque : le corpus peut provenir du Web (i.e. Portails) Problme : les documents gnrs la vole
Serveur HTTPD
Indexeur FullText
Mise Index en Jour Gnration
4- ref
FreeWAIS, Glimpse, ht://Dig, Harvest, AltaVista, Verity Search, AIRS, Basis, Oracle Context , Doris-Floras, RetrievalWare, Virage, QBIC
Caractristiques
n
l ajout d un document au corpus ne ncessite pas de reconstruire l index Texte, Texte structur Multimdia : Images, Sons, Vido (MPEG7), Monde 3D HTML, XML, PDF, Word/RTF, GIF, JPEG, MPEG, ...
C. Leloup, Moteurs d'Indexation et de Recherche, Ed. Eyrolles, 1998, ISBN 2212-08976-7 Livre OReilly sur WAIS
Bibliographie
n n
85
Fonctionnalit
n
Implmente directement un client HTTP n java.net.URL n java.net.URLConnection n java.net.HttpURLConnection n java.net.JarURLConnection rcupre un InputStream sur le document distant robot de rcupration, ... dialogue client-serveur en tunneling HTTP/TCPIP avec un serveur HTTP
n
Usage
n n
<META HTTP-EQUIV="Expires" CONTENT=" Tue, 20 Aug 1996 14:25:27 GMT"> <META HTTP-EQUIV=" Refresh" CONTENT="3; URL= http://newsite.mycomp.com "> <META HTTP-EQUIV="Cache-Control" CONTENT="no -cache"> <META HTTP-EQUIV ="Content -Type" content=" text/html; charset=iso -8859-1"> <META HTTP-EQUIV ="Set -Cookie" content="cookie=set; path=/"> n
Exemple
<HTML><HEAD> <META HTTP-EQUIV="Refresh" CONTENT="3; URL= http://newsite.mycomp.com "> </HEAD><BODY> <H1> This site moves to <A HREF=" http://newsite.mycomp.com "> http://newsite.mycomp.com </A></H1> </BODY></HTML>
87
WAP et WML
n
Motivation
n
Affichage limit, contrle limit (i.e. clavier, pointage, ) Dbit limit et cot de communication
Utilise les couches rseaux des rseaux cellulaires ( la place d IP) Utilise la scurit des rseaux cellulaires
WAP
Architecture Rseau
WML/HTTP WML/WAP
Passerelle WAP
WML/HTTP
Serveur WWW
HTML HTTP
Filtre
Rseau GSM
WML/WAP WML/WAP WML/WAP
Internet
Filtre ProxyWAP
Serveur WWW
Serveur TeleVAS
HTML HTTP
Serveur WWW
WAP Handsets
89
WML
Bibliographie
n
Des livres n Attention, ca change trs vite ! n La traduction en franais a au moins 1 an de retard sur la version anglaise
91
Bibliographie - HTTP
n
Stephen Spainhour & Robert Eckstein, Webmaster in a Nutshell , 2nd Edition, June 1999 (est.), ISBN 1-56592-325-1, Ed : O'Reilly
n
trs complet
Robert Orfali, Dan Harkey, Client/Server Programming with Java and Corba , 2me dition, 1998, Ed Wiley, ISBN 0-471-24578-X. voir les chapitres 11 et 12
n
Clinton Wong, Programmation de clients Web avec Perl , Ed Oreilly, 1997, ISBN 2-84177-050-8
n
n n
Bibliographie - Autres
n
Robert Orfali, Dan Harkey, Jeri Edwards, Client/Server Survival Guide , 3rd edition, February 1999, Ed John Wiley & Sons; ISBN: 0471316156
n
Louis Rosenfeld, Peter Morville , "Information Architecture for the World Wide Web - Designing Large-scale Web Sites", 1st Edition February 1998, ISBN 1-56592-282-4,OReilly, 226 pages, $24.95 C. Leloup, Moteurs d'Indexation et de Recherche, Ed. Eyrolles, 1998, ISBN 2-212-08976-7
93