La distribution de contenu dans l Internet



Documents pareils
L3 informatique TP n o 2 : Les applications réseau

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Application Web et J2EE

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Serveurs de noms Protocoles HTTP et FTP

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

18 TCP Les protocoles de domaines d applications

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

(structure des entêtes)

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Hébergement de sites Web

Le serveur HTTPd WASD. Jean-François Piéronne

Module BD et sites WEB

Introduction aux Technologies de l Internet

Développement des Systèmes d Information

Protocoles Applicatifs

Introduction à HTTP. Chapitre HTTP 0.9

Vulnérabilités et sécurisation des applications Web

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Les services usuels de l Internet

«Cachez-moi cette page!»

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Architectures web/bases de données

Qu est ce qu Internet. Qu est-ce qu un réseau? Internet : à quoi ça sert? présentation des services. Exemple de configuration. Rôles des éléments

Sécurité des Web Services (SOAP vs REST)

Dans l'épisode précédent

4. SERVICES WEB REST 46

Introduction. Adresses

Programmation Internet Cours 4

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Types MIME (2) Typage des ressources Internet. Les URI. Syntaxe dans les URI. Possibilité de spécifier un paramètre du sous-type

Protection des protocoles

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Présentation Internet

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Réseaux. 1 Généralités. E. Jeandel

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

La VOIP :Les protocoles H.323 et SIP

Daniel POULIN DRT 3808 (version 2010) Faculté de droit, Université de Montréal

Plan. Programmation Internet Cours 3. Organismes de standardisation

Hébergement de site web Damien Nouvel

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Vulnérabilités et solutions de sécurisation des applications Web

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Proxies,, Caches & CDNs

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Les Services Web. Jean-Pierre BORG EFORT

Mise en œuvre des serveurs d application

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

IPFIX (Internet Protocol Information export)

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Bases de données et Interfaçage Web

Architecture Orientée Service, JSON et API REST

Groupe Eyrolles, 2004, ISBN :

les techniques d'extraction, les formulaires et intégration dans un site WEB

Architectures n-tiers Intergiciels à objets et services web

SSH, le shell sécurisé

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Le cadre des Web Services Partie 1 : Introduction

Programmation Web. Madalina Croitoru IUT Montpellier

Java et les bases de données

Protocole industriels de sécurité. S. Natkin Décembre 2000

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

SERVEUR HTTP Administration d apache

WebSSO, synchronisation et contrôle des accès via LDAP

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Introduction aux «Services Web»

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Université de Reims Champagne Ardenne. HTTPS, SSL, SSH, IPSEC et SOCKS. Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin

Outils de l Internet

La sécurité des réseaux. 9e cours 2014 Louis Salvail

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Architectures Web Services RESTful

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Petite définition : Présentation :

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

La sécurité dans les grilles

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Le protocole SSH (Secure Shell)

Les applications Internet

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

L identité numérique. Risques, protection

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

Réseaux et protocoles Damien Nouvel

Transcription:

La distribution de contenu dans l Internet 1 Les technologies du Web Christophe Deleuze Christophe.Deleuze@free.fr ENST Paris janvier 2004 La distribution de contenu dans l Internet p.1/52

La distribution de contenu... contenu produit professionnellement livres film, musique... production distribution F production distribution C C C La distribution de contenu dans l Internet p.2/52

...dans l Internet contenu numérique convergence numérique 80-90 RNIS-large bande 00 web La distribution de contenu dans l Internet p.3/52

Plan 1. Les technologies du web (2h15) 2. L usage des proxies dans le web (2h) 3. Les réseaux d acheminement de contenu (CDN) (3h) 4. Réseaux pair à pair, nommage,... (1h30) La distribution de contenu dans l Internet p.4/52

L Internet avant le web réseau à commutation de paquets TCP/IP applications courrier électronique telnet FTP (44 % trafic en 91) archie gopher... La distribution de contenu dans l Internet p.5/52

Le Web 1989/91 CERN Tim Berners-Lee outil de travail colloboratif hypertexte 93 Mosaic, 1 er browser graphique fondation Netscape 1 an plus tard unification interface web email forums (news) FTP unification applications (HTTP/XML) La distribution de contenu dans l Internet p.6/52

Les technologies du Web HTML/XHTML XML/XSLT/X... HTTP SSL/TLS CGI, PHP, Javascript, JSP, ASP... Java, Perl Cookies... La distribution de contenu dans l Internet p.7/52

Les acteurs La distribution de contenu dans l Internet p.8/52

Acteurs : l IETF ISOC architecture recherche IRTF IAB IETF IESG IANA standards paramètres uniques conception des protocoles Internet Society Internet Assigned Numbers Authority Internet Architecture Board Internet Engineering Steering Group Internet Engineering Task Force Internet Research Task Force La distribution de contenu dans l Internet p.9/52

L IETF ouverte à tous les individus travail en Working Groups groupés en 8 domaines (areas) discussions par mailing-lists réunions (IETF meetings) 3 fois par an propriété intellectuelle pas de confidentialité indication des droits si possible, termes raisonnables et non discriminatoires La distribution de contenu dans l Internet p.10/52

Les documents de l IETF Internet Drafts (ID) Request For Comments (RFC) Informational Experimental Historic Standards Track (STD) Proposed Standard Draft Standard Internet Standard For Your Information (FYI) Best Current Practice (BCP) La distribution de contenu dans l Internet p.11/52

Les standards Internet The Internet Standards Process - rfc2026 une spécification stable et bien comprise techniquement satisfaisante plusieurs implémentations indépendantes et interopérables soutien public significatif utile dans (une partie de) l Internet rough consensus and running code La distribution de contenu dans l Internet p.12/52

Acteurs : le W3C World Wide Web Consortium fondé en 1994 (Tim Berners-Lee) promoting interoperability and encouraging an open forum for discussion...... leading the technical evolution of the web recommandations working draft last call WD candidate recommandation proposed recommandation recommandation La distribution de contenu dans l Internet p.13/52

Les autres acteurs les industriels prennent de l avance HTML (balises non standard) cookies... compliquent la standardisation... les universitaires cache Squid (NLANR) NCSA la communauté serveur Apache Perl La distribution de contenu dans l Internet p.14/52

Les protocoles La distribution de contenu dans l Internet p.15/52

Uniform Resource Identifier URI uniform types dans le ˆm contexte conventions syntaxiques nouveaux types resource anything that has identity correspondance conceptuelle avec une entité doc. électronique, image, service etc pas forcément network retrievable identifier objet référence à qqe chose qui a une identité séquence de caractères à syntaxe contrainte La distribution de contenu dans l Internet p.16/52

URL Uniform Resource Locator <scheme>:<scheme-specific-part> scheme : a - z, 0-9, +,., - encodage : ASCII ou %xx non ascii non sur (espace...) réservé La distribution de contenu dans l Internet p.17/52

URL les scheme Internet : <scheme>://<user>:<password>@<host>:<port>/<url-path> ftp://<cwd1>/<cmd2>...<name>;type=<typecode> http://<host>:<port>/<path>?<searchpath> news : pas des locators! news:<newsgroupname> news:<message-id> nntp://<host>:<port>/<newsgroupname>/<article-number> mailto : ne désigne pas un objet gopher, gopher+, telnet, wais... La distribution de contenu dans l Internet p.18/52

HTTP...distributed collaborative hypermedia information systems requête/réponse requête méthode + URI + version protocole message type MIME (mod. requête + info sur le client [+ contenu]) réponse ligne de status message type MIME (info sur le serveur + information sur l entité (en-tête) [+ corps de l entité]) La distribution de contenu dans l Internet p.19/52

Histoire de HTTP version originale 0.9, transfert brut de données 96 : HTTP-WG (IETF) rfc1945 HTTP/1.0 (Informational)... 98 : HTTP/1.1 (rfc2068), 99 rfc2616 (176 pages) 1.1 après 4 ans de débats compatibilité avec 0.9 et famille 1.0 compatibilité avec prétendues implémentations 1.1 très vaste complexe La distribution de contenu dans l Internet p.20/52

Méthodes HTTP OPTIONS capacités du serveur/contraintes associées à une ressource * GET récupère une entité * HEAD GET sans le corps de l entité POST associe un objet à une entité PUT ajoute une entité DELETE retire une entité TRACE équivalent de ping -R CONNECT établir un tunnel La distribution de contenu dans l Internet p.21/52

Status HTTP 1xx Information 2xx Succès 3xx Action nécessaire 4xx Erreur client 5xx Erreur serveur pour la partie xx aucune structure client ne comprend pas forcément extensions possibles alors, ne cache pas La distribution de contenu dans l Internet p.22/52

Ressource, instance, entité etc resource objet ou service réseau, URI Accept variant représentation d une res. (format, langue,...) Content-Encoding instance après encodage (eg compression) IM (instance manipulation) entity body Transfer-Encoding message body La distribution de contenu dans l Internet p.23/52

HTTP : exemple GET /%7Edeleuze/ HTTP/1.0 User-Agent: Wget/1.5.3 Host: rp.lip6.fr:80 Accept: */* HTTP/1.0 200 OK Date: Thu, 20 Dec 2001 10:07:24 GMT Server: Apache/1.3.19 (Unix) mod_ssl/2.8.1 OpenSSL/0.9.5a PHP/4.0.5 Last-Modified: Mon, 09 Jul 2001 11:20:30 GMT ETag: "c11b2-520-3b49937e" Accept-Ranges: bytes Content-Length: 1312 Content-Type: text/html X-Cache: MISS from firebolt.local Connection: close Data (1312 bytes) La distribution de contenu dans l Internet p.24/52

HTTP : Virtual hosts pourquoi le champ Host? HTTP/1.0... GET path vers un serveur GET URI vers un proxy web hosting : plusieurs (centaines d ) IP les adr. IP sont précieuses! ajout du champ Host la spec. me semble confuse... La distribution de contenu dans l Internet p.25/52

HTTP : négociation de contenu Plusieurs représentations pour le même document négo. menée par le serveur Accept, -Charset, -Encoding, -Language quality values (qvalue) 0.0 à 1.0 négo. menée par l agent serveur donne liste des rep. (chacune son URI) choix par l utilisateur (ou automatique) 2 requêtes négo. transparente cas d un proxy La distribution de contenu dans l Internet p.26/52

HTTP : Upgrade négociation de protocole Upgrade: HTTP/2.0 HTTP/3.0 GET http://... HTTP/1.1 Host:... Upgrade: HTTP/2.0 Connection: Upgrade HTTP/1.1 101 Switching Protocols Upgrade: HTTP/2.0 Connection: Upgrade suite en HTTP/2.0 La distribution de contenu dans l Internet p.27/52

Authentification HTTP schéma général 401 Unauthorized WWW-Authenticate: scheme params Authorization: scheme params Authentification basique (HTTP/1.0) WWW-Authenticate: Basic realm="wallyworld" Authorization: Basic QW...h2 (user:pass en base64) très peu sur! La distribution de contenu dans l Internet p.28/52

Authentification HTTP Digest Access Authentication cryptographie faible WWW-Authenticate: Digest nonce=challenge Authorization: Digest username=... nonce=... response=resp resp : digest (MD5) de user:pass:nonce:method:uri codé en base64 (32 octets) ex. de nonce Base64 de timestamph(timestamp":"etag":"clef) optimisations... WWW-Authenticate: Digest stale=true nonce=... Authorization-Info: nextnonce=... La distribution de contenu dans l Internet p.29/52

Sécurité : TLS Transport Layer Security : STD IETF basé sur SSL 3.0 (Netscape) confidentialité (crypto symétrique) intégrité (hash crypto) authentification (crypto asymétrique) négo. sure du secret partagé TLS Handshake TLS ChangeCipher TLS Alert HTTP TLS Record Protocol TCP La distribution de contenu dans l Internet p.30/52

Sécurité : TLS méthode à la SSL https://... (port défaut 443) méthode recommandée Upgrade: TLS/1.0 si obligatoire serveur 426 Upgrade required si obligatoire client OPTIONS * HTTP/1.1 Upgrade: TLS/1.0... La distribution de contenu dans l Internet p.31/52

Encodage différentiel Delta-encoding If-None-Match: etag A-IM: delta 226 IM Used IM: delta ETag:... serveur peut garder vieilles instances... client aussi! If-None-Match: tag1 tag2 IM:... Delta-Base: tag mais lesquelles? Cache-Control: retain[=n] (caches HTTP/1.0) (documents expirés) La distribution de contenu dans l Internet p.32/52

Performances : connexions persistantes HTTP initial TCP open, req HTTP, rep HTTP, TCP close performances lamentables TCP open : 1 RTT TCP slow-start req HTTP > MSS +1 RTT rep HTTP > 2MSS +1 + RTT connexions persistantes HTTP/1.0 Keep-Alive mais bug si plus d un proxy HTTP/1.1 perst. par défaut de paquets, de délais T/TCP (TCP for transactions)? La distribution de contenu dans l Internet p.33/52

Performances : pipelining autre cause de délai : SEND AND WAIT petits objets inclus 1 RTT par objet solutions... envisagée : 1 + objet(s) / req. utilisée : connexions parallèles standardisée : (buffered) pipelining pb : algo TCP Nagle sol : désactiver (TCP_NO_DELAY) pour revalidation : buff. pipelined 1.1 3 moins pqt que pipelined 1.1 buff. pipelined 1.1 10 moins pqt que 1.0 taille moy. pqt 2 La distribution de contenu dans l Internet p.34/52

Performances : morale résultats 1.1 avec pipeline meilleur que 1.0 ( ˆm si conn. //) nb paquets 2 délai significatif surtout pour revalidation morale prévision de l évolution des besoins limites de l abstraction en couches? La distribution de contenu dans l Internet p.35/52

Sessions HTTP HTTP est sans état session : remplissage de panier... encodage dans l URL http://shop.example.com/acheter?panier=lessive Cookies (IETF 00, Netscape) Set-Cookie2: panier=lessive TTL, portée... POST /acheter HTTP/1.1 Host: shop.example.com Cookie: panier=lessive... en général, plutôt une clé de BD dans le serveur La distribution de contenu dans l Internet p.36/52

Les données La distribution de contenu dans l Internet p.37/52

HTML 1.0 web confidentiel. Très limité 2.0 96 rfc1866 IETF HTML-WG (fermé en 98) active maps, formulaires x.x Netscape extension tags 3.0 trop complexe, pas implémentée abandonnée 3.2 96 W3C, bcp plus simple que 3.0 tableaux applets texte autour des images indices/exposants compatible 2.0 4.0 97 corrigée 98 reprend les idées de 3.0 4.01 déc 99 La distribution de contenu dans l Internet p.38/52

HTML (suite) XHTML 1.0 00 reformulation de HTML 4 en XML 1.0 strict transitional frameset XHTML Basic 12/00 Modularization of XHTML 04/01 XHTML 1.1 05/01 MathML 2.0 10/03... ISO HTML 05/00 sous-ensemble de HTML 4 La distribution de contenu dans l Internet p.39/52

HTML (fin?) drafts Modularization of XHTML in XML Schema XHTML + MathML + SVG profile XHTML 2.0 XFrames related work XML feuilles de styles (CSS en HTML, XSL pour XML) DOM (Document Object Model) MathML... La distribution de contenu dans l Internet p.40/52

Script côté client Javascript créé par Netscape langage de script compact et orienté objet version serveur (Livewire Javascript) script inséré dans une balise <SCRIPT>... La distribution de contenu dans l Internet p.41/52

Script côté serveur : CGI Common Gateway Interface une URL contenant cgi-bin représente un script à exécuter l objet de la requête est passé sur stdin variables d environnement script genère une page HTML sur stdout POST www.cgiexample.com/cgi-bin/annuaire name=martin&firstname=laurent ou GET www.cgiexample.com/cgi-bin/annuaire?name=martin&firstname=la La distribution de contenu dans l Internet p.42/52

SSI Server Side Includes 95 NCSA directives SSI dans commentaires HTML include echo (variable) fsize, flastmod exec sur /bin/sh ou CGI documents de type text/x-server-parsed-html extension par défaut.shtml La distribution de contenu dans l Internet p.43/52

PHP PHP: Hypertext Preprocessor projet de la Apache Sofware Foundation multi-os/multiserveur paradigme procédural ou objet interface avec bases de données génère HTML, images, PDF, Flash... également command line scripting clients graphiques (PHP-GTK) La distribution de contenu dans l Internet p.44/52

mod_perl créé en 96 interpréteur Perl intégré au serveur web Apache 100 plus rapide que CGI bcp plus flexible... aussi mod_caml La distribution de contenu dans l Internet p.45/52

Java introduit en 95 (Java2 98) indépendant du système (JVM) applet servlet JDBC API, HTTP,... scriptlet (JavaServer Pages JSP) La distribution de contenu dans l Internet p.46/52

Perl Practical Extraction and Report Language 86 admin. système tout OS (Unix en condensé) web dynamique (CGI puis mod_perl) Comprehensive Perl Archive Network (CPAN) write only language machine virtuelle unifiée : parrot La distribution de contenu dans l Internet p.47/52

Pour finir... La distribution de contenu dans l Internet p.48/52

Le web comme unification passerelles (proxies) vers autres protocoles/services interface vers base de données browser logiciel de communication unifié applications réparties XML comme format de données HTTP comme protocole de transport services web La distribution de contenu dans l Internet p.49/52

Services Web : SOAP services web : utiliser le web pour la communication entre applications distantes RPC (Remote Procedure Call) : Unix, C DCOM (Distributed Component Object Model) : Windows, * RMI (Remote Method Invocation Java) : *, Java CORBA *, * SOAP (Simple Object Access Protocol, prev. XML-RPC) : *,* 1. encodage objet/méthode en XML 2. transfert sur HTTP (ou autres) 3. décodage 4. éxécution 5. encodage XML du résultat... La distribution de contenu dans l Internet p.50/52

Des abus? SOAP : est-ce bien raisonnable? everything over HTTP stream sur HTTP! ( ça passe les firewalls ) interfaces de configuration non automatisables... HTCPCP (rfc2324) La distribution de contenu dans l Internet p.51/52

Le problème de la distribution acheminer de 1 vers beaucoup croissance exponentielle scalabilité multicast cache client proxy La distribution de contenu dans l Internet p.52/52