Plan. Les communications. Introduction. Définition et rôles Syntaxe des URI / URL URI relatif et URI de base



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

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

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

Les services usuels de l Internet

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

Application Web et J2EE

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

Programmation Internet Cours 4

Hébergement de site web Damien Nouvel

Serveurs de noms Protocoles HTTP et FTP

M Architecture des réseaux

Module BD et sites WEB

Introduction aux Technologies de l Internet

Les outils de création de sites web

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

Domain Name Service (DNS)

Réseaux IUP2 / 2005 DNS Système de Noms de Domaine

(structure des entêtes)

18 TCP Les protocoles de domaines d applications

Dans l'épisode précédent

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

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

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

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

Cours CCNA 1. Exercices

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

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

BES WEBDEVELOPER ACTIVITÉ RÔLE

Le réseau Internet.

Outils de l Internet

Réseaux. DNS (Domaine Name System) Master Miage 1 Université de Nice - Sophia Antipolis. (second semestre )

Exemple d application: l annuaire DNS Claude Chaudet

Formation Site Web. Menu du jour. Le web comment ça marche? Créer un site web Une solution proposée pour débuter La suite?

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

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

Plan. Programmation Internet Cours 3. Organismes de standardisation

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

Programmation Web. Madalina Croitoru IUT Montpellier

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Architectures web/bases de données

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

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

Introduction. Adresses

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Résolution de noms. Résolution de noms

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

Domain Name System. F. Nolot

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Les serveurs. UE 103b. Guillaume Burel.

B1-4 Administration de réseaux

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Transfert de fichiers (ftp) avec dreamweaver cs5 hébergement et nom de domaine. MC Benveniste

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

Présentation Internet

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

DNS. Olivier Aubert 1/27

Notes pour l utilisation d Expression Web

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

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

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

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

Résolution de noms. Résolution de noms

Développement des Systèmes d Information

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

1 Résolution de nom Introduction à la résolution de noms Le système DNS Les types de requêtes DNS...

Internet. Web Sécurité Optimisation

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

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

L3 informatique Réseaux : Configuration d une interface réseau

DNS ( DOMAIN NAME SYSTEM)

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

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

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Le service de nom : DNS

L annuaire et le Service DNS

SERVEUR HTTP Administration d apache

Théorie : internet, comment ça marche?

Formation Website Watcher

Algorithmique et langages du Web

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Le serveur web Windows Home Server 2011

DNS : Domaine Name System

Programmation Web. Introduction

Formation Webmaster : Création de site Web Initiation + Approfondissement

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

Caruso33 : une association à votre service

Domain Name Service (DNS)

V - Les applications. V.1 - Le Domain Name System. V Organisation de l espace. Annuaire distribué. Définition. Utilisation par le resolver

4. SERVICES WEB REST 46

Petite définition : Présentation :

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

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

Mise en œuvre d une Gateway HTTP/HTTPS avec un serveur de Présentation en DMZ

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Présentation du système DNS

Devenez un véritable développeur web en 3 mois!

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Introduction à HTTP. Chapitre HTTP 0.9

Domain Name System ot ol F. N 1

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

Transcription:

Plan Introduction 1 Objectifs du cours 2 Installation des logiciels Le navigateur Firefox Le serveur Web Apache L éditeur XEmacs Les communications 3 Les RFC 4 Les URI et les URL Définition et rôles Syntaxe des URI / URL URI relatif et URI de base 5 Le protocole HTTP Historique Fonctionnement Les proxys Les en-têtes Les types MIME Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 1 / 62

Plan Le contenu 6 Les images 7 Le HTML 8 Les CSS 9 Les formulaires La programmation 10 L interface CGI 11 Conception de CGI (MVC) 12 Les templates Divers 13 Le DNS Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom 14 La sécurité : le contrôle d accès 15 Les mails : SMTP Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 1 / 62

Objectifs du cours Installation des logiciels Première partie I Introduction Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 2 / 62

Objectifs du cours Installation des logiciels 1 Objectifs du cours 2 Installation des logiciels Le navigateur Firefox Le serveur Web Apache L éditeur XEmacs Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 3 / 62

Objectifs du cours Installation des logiciels Objectifs du cours Comprendre les protocoles réseaux utilisés par des applications distribuées Web. Comprendre quelques architectures de service associées. Bien dissocier les différents éléments à mettre en œuvre et le rôle qu ils tiennent. Approche «bottom-up» (comme SE/RI et SGBD) pour compléter les cours «top-down» (comme modélisation, processus industriel...). Préparer à la réalisation pratique du projet. Mesurer quelques aspects techniques à prendre en compte dans une politique de sécurité. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 4 / 62

Objectifs du cours Installation des logiciels Contenu illustré Client Navigateur Soit une machine client avec un navigateur Web (ici Firefox)... Navigateur, client lourd, client léger... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Client Navigateur...relié à un réseau local (LAN)... LAN Mise en réseau, TCP/IP, RFC... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Client Navigateur...relié lui-même à Internet (WAN). LAN Internet (WAN) Internet, RFC, FAI, plan d adressage... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur URL Client Navigateur L utilisateur demande à accéder à un URL. LAN Internet (WAN) URI/URL, protocoles... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur URL Client Navigateur Pour résoudre les noms en adresse IP, il faut un serveur DNS. Ici, on suppose qu il est sur le réseau local. LAN Internet (WAN) Serveur DNS BIND Domain name service/server, noms de domaine, ICANN... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur URL Client Navigateur Le navigateur fait appel au serveur DNS pour retrouver l adresse IP associé au nom du serveur. LAN Internet (WAN) Serveur DNS BIND Adresse IP et FQDN, certificats, sécurité... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur URL Client Navigateur Le client peut maintenant lancer sa requête HTTP via Internet. LAN Internet (WAN) Serveur DNS BIND Routage sur Internet, requêtes HTTP simples, en-têtes HTTP... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur URL Client Navigateur Le serveur reçoit la requête et l analyse. LAN Internet (WAN) LAN Serveur DNS BIND Serveur Web Apache Serveur Web, traitement des requêtes, redirection, erreurs, balance de charges... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur URL Client Navigateur Le serveur récupère sur son disque le document demandé. LAN Internet (WAN) LAN Serveur DNS BIND Serveur Web Apache HTML/XHTML de base, formats d images, hiérarchie, droits d accès, configuration du serveur... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur URL Client Navigateur Le serveur renvoie le document au client. LAN Internet (WAN) LAN Serveur DNS BIND Serveur Web Apache Réponses HTTP simple, types MIME, négociation du contenu... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Le client analyse le document reçu et l affiche pour l utilisateur. LAN Internet (WAN) LAN Serveur DNS BIND Serveur Web Apache Compatibilité HTML/XHTML, CSS, choix des couleurs, mise en page et typographie... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur L utilisateur clique sur un lien ou remplit un formulaire et le soumet. LAN Internet (WAN) LAN Serveur DNS BIND Serveur Web Apache Interface, ergonomie, formulaires (X)HTML, GET/POST... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Le serveur reçoit la requête et l analyse. Mais cette fois c est un document dynamique qui est demandé... LAN Internet (WAN) LAN Serveur DNS BIND Serveur Web Apache Documents dynamiques, SSI, CMS et autres... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Il faut donc un programme supplémentaire (CGI) pour traiter cette requête. LAN Internet (WAN) LAN Serveur DNS BIND Serveur Web Apache + CGI CGI, conception et programmation, PHP, Python, ASP, Perl... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Le programme CGI fait appel à une base de données externes pour y stocker et/ou y récupérer des données. LAN Internet (WAN) LAN SGBD MySQL Serveur DNS BIND Serveur Web Apache + CGI Lien SGBD, information persitantes, sessions... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Le programme CGI produit le document résultat en insérant les données du SGBD dans des modèles de document issus du disque. LAN Internet (WAN) LAN SGBD MySQL Serveur DNS BIND Serveur Web Apache + CGI MVC, templates, séparation programmation/présentation... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Le serveur renvoie le document au client. LAN Internet (WAN) LAN SGBD MySQL Serveur DNS BIND Serveur Web Apache + CGI Idem... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Le client analyse le document reçu et l affiche pour l utilisateur. LAN Internet (WAN) LAN SGBD MySQL Serveur DNS BIND Serveur Web Apache + CGI Idem... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Tout cela illustre quelques architectures physiques, logicielles et fonctionnelles. LAN Internet (WAN) LAN SGBD MySQL Serveur DNS BIND Serveur Web Apache + CGI Architectures n-tier, proxies, middleware... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Contenu illustré Utilisateur Client Navigateur Les aspects liés à la sécurité impliquent par exemple la mise en place de Firewalls mais aussi de contrôle d accès. LAN Firewall Internet (WAN) Firewall LAN SGBD MySQL Serveur DNS BIND Serveur Web Apache + CGI Sécurité, authentification, rôles et droits d accès... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 5 / 62

Objectifs du cours Installation des logiciels Le navigateur Firefox Le serveur Web Apache L éditeur XEmacs 1 Objectifs du cours 2 Installation des logiciels Le navigateur Firefox Le serveur Web Apache L éditeur XEmacs Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 6 / 62

Objectifs du cours Installation des logiciels Le navigateur Firefox Le serveur Web Apache L éditeur XEmacs Firefox et quelques extensions Téléchargement de Firefox 1 : http://www.mozilla.com/firefox/ Téléchargement des extensions en général : https://addons.mozilla.org/extensions.php Pour faciliter la mise au point du HTML et des CSS, l extension Web Developer : http://chrispederick.com/work/webdeveloper/ Pour mieux comprendre le protocole HTTP, l extension LiveHTTPHeader : http://livehttpheaders.mozdev.org/ 1 version 1.5.x Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 7 / 62

Objectifs du cours Installation des logiciels Le navigateur Firefox Le serveur Web Apache L éditeur XEmacs Firefox et quelques extensions Autres extensions pratiques : Un bloqueur de pub : Adblock Plus, Un bloqueur de javascript : NoScript, Une gestion des onglets évolués : TabMix Plus, Coloration des onglets : Colorful Tabs, Un gestionnaire de téléchargement : Download Statusbar. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 7 / 62

Objectifs du cours Installation des logiciels Le navigateur Firefox Le serveur Web Apache L éditeur XEmacs Apache Téléchargement de Apache 1 : http://httpd.apache.org/ Documentation sur Internet : http://httpd.apache.org/docs/2.2/ 1 version 2.2.x Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 8 / 62

Objectifs du cours Installation des logiciels Le navigateur Firefox Le serveur Web Apache L éditeur XEmacs XEmacs Téléchargement de XEmacs 2 : http://www.xemacs.org/download/win32/ Téléchargement des packages (sumo) : le fichier xemacs-sumo-2006-05-10.tar.gz dans le répertoire ftp://mirror.cict.fr/xemacs/packages/ Application liée pour ouverture des documents : winclient.exe 2 version 21.4.19 pour Windows Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 9 / 62

Les RFC Les URI et les URL Le protocole HTTP Deuxième partie II Les communications Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 10 / 62

Les RFC Les URI et les URL Le protocole HTTP 3 Les RFC 4 Les URI et les URL Définition et rôles Syntaxe des URI / URL URI relatif et URI de base 5 Le protocole HTTP Historique Fonctionnement Les proxys Les en-têtes Les types MIME Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 11 / 62

Les RFC Les URI et les URL Le protocole HTTP Les RFC RFC Requests for Comments C est, pour internet, l équivalent des normes et des standards du reste du monde mais sans les inconvénients. Elles fixent les règles de fonctionnement d internet et des protocoles utilisés sur internet. Le fonctionnement : Tout le monde peut soumettre une RFC (à l IETF Internet Executive Task Force). Une fois acceptée, on lui attribue un numéro d ordre. Elle part de l état Draft pour aboutir (peut-être) après plusieurs états intermédiaires à l état Internet Standard. Certaines sont dans l état Informational. Nombreuses sont celles qui sont abandonnées avant l aboutissement. D autres font l objet d éclatement en plusieurs RFC. Certaines RFC complètent, amendent ou rendent obsolètes des RFC plus anciennes. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 12 / 62

Les RFC Les URI et les URL Le protocole HTTP Les RFC La plus ancienne (RFC 1) date de 1969. La plus récente date de... Quelques exemples de RFC importantes (pour ce cours) : RFC 2821 : SMTP Simple Mail Transfer Protocol le mail ou messagerie électronique. RFC 2396 : URI et URL Uniform Resource Identifiers et Uniform Resource Locators RFC 1945 et 2616 : HTTP 1.0 et 1.1 Hypertext Transfert Protocol le Web. RFC 2045 : MIME Multipurpose Internet Mail Extensions permet de gérer des contenus riches. Pour les consulter, aller à la source : l IETF (http://www.ietf.org/). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 12 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base 3 Les RFC 4 Les URI et les URL Définition et rôles Syntaxe des URI / URL URI relatif et URI de base 5 Le protocole HTTP Historique Fonctionnement Les proxys Les en-têtes Les types MIME Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 13 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Exemples Ce sont les fameuses adresses internet des pages Web : http://www.enstimac.fr http://www.enstimac.fr/index.html http://www.esa.int/esacp/france.html http://www.google.fr/search?q=enstimac http://en.wikipedia.org/wiki/uri_scheme#generic_syntax Mais aussi : news:fr.comp.lang.c (forum de discussion) mailto:bill.gates@microsoft.com (adresse email) tel:0563493000 (numéro de téléphone!) fax:0563493099 (numéro de fax!) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 14 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base URI et URL : définitions et rôles URI Uniform Resource Identifiers (RFC 2396) Un URI est une chaîne de caractères compacte permettant d identifier une ressource réelle ou abstraite. Certains URI ne réprésentent qu un simple concept ou un nom (les URN)... Il est donc inutile de les chercher sur internet. URL Uniform Resource Locator (RFC 2396) Un(e) URL est un URI permettant de localiser une ressource le plus souvent réelle. Les URL ne sont pas toujours accessibles informatiquement (ex : une personne). Les URL sont la base du fonctionnement du Web : ils permettent d identifier de manière unique les documents. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 15 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Syntaxe des URI / URL - les caractères Syntaxe simplifiée La présentation de la syntaxe faite ici est simplifiée et ne couvre qu une partie des URL (sans parler des URI et des URN) : ceux utilisés couramment sur le Web. Les caractères utilisables dans les URL sont les lettres (A-Z, a-z), les chiffres (0-9) et quelques symboles (- _.! ~ * ( )). Certains caractères ont un usage réservé (; /? : @ & = + $,). Les autres caractères peuvent être encodés par le caractère % suivi de deux chiffres hexadécimaux (ex : %20 pour un espace).... mais les caractères autorisés ou réservés changent selon les composants de l URL. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 16 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Syntaxe des URI / URL - les composants Décomposition générale en composants <schéma>:<partie-spécifique-schéma> Le <schéma> est souvent le protocole (http, https nntp, ftp, telnet...) mais peut aussi représenter une fonction (mailto...). Décomposition en quatre composants <schéma>://<autorité><chemin>?<requête> La plupart du temps, les <schéma> impliquant une connexion à une machine distante décomposent leur partie spécifique de la même manière (contre-exemple : mailto:bill.gates@microsoft.com). Prenons l exemple du protocole http... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 17 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Syntaxe des URI / URL - les composants Exemple http http://<autorité><chemin>?<requête> La syntaxe générale de <autorité> est : utilisateur:password@machine:port L usage de password est fortement déconseillé (pb de sécurité). L utilisateur est optionnel (on supprime alors le @). La machine peut être soit un nom (www.enstimac.fr) soit un numéro IP (194.167.199.36). Le port est optionnel et permet d utiliser un autre port TCP/IP que celui par défaut (:80 pour HTTP). Exemples d <autorité> : www.apple.com (nom de machine seul) bill@www.microsoft.com:8080 (utilisateur d une machine sur un port spécifique) Prenons l exemple de l autorité www.enstimac.fr. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 17 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Syntaxe des URI / URL - les composants Exemple http avec l autorité www.enstimac.fr http://www.enstimac.fr<chemin>?<requête> La syntaxe du <chemin> : Le <chemin> permet de décrire une arborescence (ce n est pas vrai de tous les schéma). Chaque élément de ce chemin est séparé des autres par le caractère divisé (/). Les caractères qui ne peuvent pas être utilisés tels quels dans un chemin sont? = ; et /. Exemples de <chemin> : / (la racine des chemins) /dossier/document.html (le document dans un dossier) /../../../etc/passwd (la séquence.. n a heureusement pas obligatoirement son sens habituel) Prenons l exemple du chemin /doc/liste.cgi. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 17 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Syntaxe des URI / URL - les composants Exemple http avec l autorité www.enstimac.fr et le chemin /doc/liste.cgi http://www.enstimac.fr/doc/liste.cgi?<requête> La?<requête> : Elle est optionnelle. Elle permet de transmettre des informations à la ressource désignée. C est à la ressource de choisir la manière d interpréter ces informations. Pour le Web, par convention, les pages dynamiques récupèrent des paires champs / valeur sous la forme?champ1=val1&champ2=val2&champ3=val3 Exemples de <requête> : q=essai&start=0 (le champ q vaut essai et le champ start vaut 0) a&b=a (le champ a existe et vaut la chaîne vide et le champ b vaut a)... Lancer une recherche sur Google et voir l URL envoyé Prenons l exemple d une <requête> vide. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 17 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Syntaxe des URI / URL - les composants Exemple http avec l autorité www.enstimac.fr et le chemin /doc/liste.cgi sans <requête> http://www.enstimac.fr/doc/liste.cgi On peut ajouter à la fin de l URL un chaîne de caractères précédée du caractère #. Ex : http://www.enstimac.fr/doc/liste.cgi#part3 On appelle cela un fragment (ici, le fragment concerné s appelle part3). Cela ne fait pas partie de l URL! Ça sert à identifier un point particulier (s il existe) à l intérieur du document lié à la ressource désignée par l URL. Dans le cas d un schéma impliquant une connexion à un serveur, ce dernier ne reçoit pas le fragment comme faisant partie de l URI/URL. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 17 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base URI relatif et URI de base URI relatif et URI de base Un URI relatif est un URI souvent incomplet qui apparaît dans un contexte appelé document de référence. À partir d un URI relatif, on reconstitue un URI complet en s appuyant sur l URI de base. En général, l URI de base est celui qui désigne le document de référence. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 18 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Différents types d URI relatifs URI de base : schéma1://autorité1/chem1/doc1.html#frag1 + URI relatif : schéma2://autorité2/chem2/doc2.html#frag2 URI final : schéma2://autorité2/chem2/doc2.html#frag2 Quatre familles d URI relatifs : 1 Les URI absolus. Ils commencent par un schéma: et n utilise pas l URI de base. 2 Les URI relatifs au serveur. Ils commencent par un / (un chemin absolu). 3 Les URI relatifs à l emplacement du document. Ils ne commencent ni par un schéma ni par les caractères # ou / (un chemin relatif). 4 Les URI relatifs au document de référence lui-même. Ils commencent par un # (le document n est même pas rechargé). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 19 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Différents types d URI relatifs URI de base : schéma1://autorité1/chem1/doc1.html#frag1 + URI relatif : schéma2://autorité2/chem2/doc2.html#frag2 URI final : schéma2://autorité2/chem2/doc2.html#frag2 Quatre familles d URI relatifs : 1 Les URI absolus. Ils commencent par un schéma: et n utilise pas l URI de base. 2 Les URI relatifs au serveur. Ils commencent par un / (un chemin absolu). 3 Les URI relatifs à l emplacement du document. Ils ne commencent ni par un schéma ni par les caractères # ou / (un chemin relatif). 4 Les URI relatifs au document de référence lui-même. Ils commencent par un # (le document n est même pas rechargé). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 19 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Différents types d URI relatifs URI de base : schéma1://autorité1/chem1/doc1.html#frag1 + URI relatif : /chem2/doc2.html#frag2 URI final : schéma1://autorité1/chem2/doc2.html#frag2 Quatre familles d URI relatifs : 1 Les URI absolus. Ils commencent par un schéma: et n utilise pas l URI de base. 2 Les URI relatifs au serveur. Ils commencent par un / (un chemin absolu). 3 Les URI relatifs à l emplacement du document. Ils ne commencent ni par un schéma ni par les caractères # ou / (un chemin relatif). 4 Les URI relatifs au document de référence lui-même. Ils commencent par un # (le document n est même pas rechargé). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 19 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Différents types d URI relatifs URI de base : schéma1://autorité1/chem1/doc1.html#frag1 + URI relatif : chem2/doc2.html#frag2 URI final : schéma1://autorité1/chem1/chem2/doc2.html#frag2 Quatre familles d URI relatifs : 1 Les URI absolus. Ils commencent par un schéma: et n utilise pas l URI de base. 2 Les URI relatifs au serveur. Ils commencent par un / (un chemin absolu). 3 Les URI relatifs à l emplacement du document. Ils ne commencent ni par un schéma ni par les caractères # ou / (un chemin relatif). 4 Les URI relatifs au document de référence lui-même. Ils commencent par un # (le document n est même pas rechargé). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 19 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Différents types d URI relatifs URI de base : schéma1://autorité1/chem1/doc1.html#frag1 + URI relatif : doc2.html#frag2 URI final : schéma1://autorité1/chem1/doc2.html#frag2 Quatre familles d URI relatifs : 1 Les URI absolus. Ils commencent par un schéma: et n utilise pas l URI de base. 2 Les URI relatifs au serveur. Ils commencent par un / (un chemin absolu). 3 Les URI relatifs à l emplacement du document (version simple). Ils ne commencent ni par un schéma ni par les caractères # ou / (un chemin relatif). 4 Les URI relatifs au document de référence lui-même. Ils commencent par un # (le document n est même pas rechargé). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 19 / 62

Les RFC Les URI et les URL Le protocole HTTP Définition et rôles Syntaxe des URI / URL URI relatif et URI de base Différents types d URI relatifs URI de base : schéma1://autorité1/chem1/doc1.html#frag1 + URI relatif : #frag2 URI final : schéma1://autorité1/chem1/doc1.html#frag2 Quatre familles d URI relatifs : 1 Les URI absolus. Ils commencent par un schéma: et n utilise pas l URI de base. 2 Les URI relatifs au serveur. Ils commencent par un / (un chemin absolu). 3 Les URI relatifs à l emplacement du document. Ils ne commencent ni par un schéma ni par les caractères # ou / (un chemin relatif). 4 Les URI relatifs au document de référence lui-même. Ils commencent par un # (le document n est même pas rechargé). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 19 / 62

Les RFC Les URI et les URL Le protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME 3 Les RFC 4 Les URI et les URL Définition et rôles Syntaxe des URI / URL URI relatif et URI de base 5 Le protocole HTTP Historique Fonctionnement Les proxys Les en-têtes Les types MIME Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 20 / 62

Les RFC Les URI et les URL Le protocole HTTP Les concepts du protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME HTTP Hypertext Transfert Protocol Le protocole de communication utilisé entre un navigateur et un serveur Web. Créer en 1990 (pour le CERN par Tim Berners-Lee) A été très critiqué pour son soi-disant manque d efficacité Existe en trois versions (0.9 à l origine, 1.0 en 1996 et 1.1 à partir de 1997) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 21 / 62

Les caractéristiques de base Les RFC Les URI et les URL Le protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME Se base sur des requêtes et des réponses dont la partie effective est textuelle. Une requête contient trois parties : 1 la commande (sur une ligne), 2 des en-têtes textuels contenant de la meta-information, 3 un contenu optionnel (un document) séparé des en-têtes par une ligne vide. Une réponse contient trois parties : 1 le statut de la réponse (sur une ligne), 2 des en-têtes textuels contenant de la meta-information, 3 Un contenu optionnel (un document) séparé des en-têtes par une ligne vide. Le contenu est de n importe quel type (cf. MIME) et de n importe quelle taille. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 22 / 62

Les caractéristiques de base Les RFC Les URI et les URL Le protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME En version 1.0 (et 0.9), chaque couple requête/réponse faisait l objet d une connexion TCP/IP. En version 1.1, le client comme le serveur peuvent essayer de conserver la connexion active pour échanger d autres couples requête/réponse. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 22 / 62

Une requête la commande Les RFC Les URI et les URL Le protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME Une commande est la première ligne de la requête et se décompose en trois parties : La commande elle-même. L URL (sans le schéma ni l autorité) sur lequel s applique la commande. La version du protocole HTTP utilisé. Les commandes possibles sont nombreuses : GET : récupére la ressource. Ne devrait pas modifier la ressource. HEAD : ne demande que les en-têtes de la réponse. POST : récupére la ressource après modification éventuelle. Les commandes PUT et et DELETE sont particulières puisqu elles permettent d ajouter ou de supprimer une ressource sur le serveur. D autres commandes moins usitées sont possibles (OPTIONS, CONNECT...). Exemple de commande d une requête HTTP GET /index.html HTTP/1.1 Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 23 / 62

Une réponse le statut Les RFC Les URI et les URL Le protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME Un statut est la première ligne d une réponse et se décompose en trois parties : La version du protocole HTTP utilisé pour la réponse. Un numéro de statut. Un texte (en anglais) décrivant le statut On classe les statuts en cinq types : 1xx Information (Ex : 101 Continue) 2xx Success (Ex : 200 Ok) 3xx Redirection (Ex : 303 Moved Permanently) 4xx Client Error (Ex : 404 Not Found) 5xx Server Error (Ex : 500 Internal Server Error) Exemple de statut d une réponse HTTP HTTP/1.0 404 Not Found Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 24 / 62

Le protocole HTTP Les RFC Les URI et les URL Le protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME Client (navigateur) Serveur Web Requête Traitement Réponse Affichage à compléter : évolution du protocole HTTP (0.9, 1.0, 1.1)... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 25 / 62

Les proxys Les RFC Les URI et les URL Le protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME 1 proxys côté client intermédiaire entre un (ou plusieurs clients) et les serveurs Web. Contrôle d accès par authentification, par date... Cache commun à plusieurs clients Filtrage des requêtes et/ou des réponses Redirection / réécriture des requêtes Transformation des réponses 2 proxys côté serveur intermédiaire entre les clients et un (ou plusieurs) serveur Web. Contrôle d accès par authentification, par date... Cache des réponses les plus courantes Filtrage des requêtes et/ou des réponses Répartition des requêtes entre serveurs selon leur charges ou selon leur rôle. Redirection / réécriture des requêtes Transformation, agrégation des réponses Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 26 / 62

Les RFC Les URI et les URL Le protocole HTTP Quelques en-têtes des requêtes Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME Chaque en-tête est sur une seule ligne sous la forme : Quelques en-têtes des requêtes : nom: valeur Host Spécifie le nom du sites web (indispensable si plusieurs sites sont hébergés sur une même machine). Referer Spécifie l URL du document d où provient la requête (le document contenent l hyperlien). User-Agent Le nom du navigateur utilisé....à compléter... If-Modified-Since, Accept-Language, Accept-Charset... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 27 / 62

Les types MIME Les RFC Les URI et les URL Le protocole HTTP Historique Le fonctionnement de base Les proxys Les en-têtes Les types MIME...à compléter... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 28 / 62

Les images Le langage HTML Les cascading style sheets Les formulaires Troisième partie III Le contenu Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 29 / 62

Les images Le langage HTML Les cascading style sheets Les formulaires 6 Les images 7 Le HTML 8 Les CSS 9 Les formulaires Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 30 / 62

Les images Le langage HTML Les cascading style sheets Les formulaires Les images (...à compléter...) Les deux grands types d images : vectoriel (SVG, PostScript, PDF, etc.), bitmap (bmp, jpeg, gif, png, etc.). Compression avec ou sans perte Gestion de la transparence Usages (bons ou mauvais) des images... Formats propriétaires : Flash, Java, etc. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 31 / 62

Les images Le langage HTML Les cascading style sheets Les formulaires 6 Les images 7 Le HTML 8 Les CSS 9 Les formulaires Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 32 / 62

Les images Le langage HTML Les cascading style sheets Les formulaires Le langage HTML (...à compléter...) Philosophie de HTML : SGML, séparation de l information, la structure et la présentation... Historique du HTML : 1 version initiale : 1.0, 2.0 2 explosion : 3.0, 3.1, version Netscape, version Microsoft 3 retour à la «bonne» philosophie : 3.2 (transition) puis 4.0, 4.1 (avec les CSS) 4 puis passage à XML : XHTML Les spécifications : Le W3C Lecture des spécifications Jeu pour validation des acquis en HTML Jeu de caractères et différents encodages Utilisation des structures, utilisation des attributs, les hyperliens... Les tableaux La qualité : validateur(s), le groupe OpenWeb... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 33 / 62

Les images Le langage HTML Les cascading style sheets Les formulaires 6 Les images 7 Le HTML 8 Les CSS 9 Les formulaires Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 34 / 62

Les CSS (...à compléter...) Les images Le langage HTML Les cascading style sheets Les formulaires Historique, objectifs, évolution... (démonstration CSS Zen Garden) Les sélecteurs : par balise, par classe, par id, combinés... Les propriétés : couleurs, polices, justification, bordures... Les modes bloc et en-ligne Les marges et le padding... Les mécanismes d héritage et de priorité... Exemples de mise en œuvre... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 35 / 62

Les images Le langage HTML Les cascading style sheets Les formulaires 6 Les images 7 Le HTML 8 Les CSS 9 Les formulaires Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 36 / 62

Les images Le langage HTML Les cascading style sheets Les formulaires Les formulaires (...à compléter...) Passage des valeurs : POST ou GET Les différents champs : INPUT, TEXAREA, SELECT... Le nommage des champs et la récupération par un script... Les FIELDSET... Les interfaces riches (ECMAScript, JavaScript, XUL...) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 37 / 62

L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates Quatrième partie IV La programmation Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 38 / 62

L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates Pourquoi et comment programmer? (...à compléter...) Pourquoi? Contenu dynamique Consultation de données Modification des ressources (base de données, fichiers téléchargés...) Comment? Par programmes internes au serveur Web : SSI (Server Side Include), PHP, ASP, mod_perl, mod_python... Par programmes externes au serveur Web : CGI (ou FastCGI) écrits en C, Perl, Basic, PHP... Savoir quand utiliser GET ou POST... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 39 / 62

L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates 10 L interface CGI 11 Conception de CGI (MVC) 12 Les templates Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 40 / 62

L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates L interface CGI (...à compléter...) Les variables d environnement passées par le serveur (REMOTE_USER, HTTP_USER_AGENT, HTTP_HOST, DOCUMENT_ROOT, REQUEST_METHOD...) Passage des données soumises par la requête (généralement un formulaire) : 1 GET : QUERY_STRING 2 POST : INPUT_LENGTH, entrée standard (STDIN) Difficile à décoder : utilisation d un module pour tout décoder correctement! Réponse d un programme «CGI» : réponse HTTP avec entêtes partiels (éventuellement complétés par le serveur) sur la sortie standard (STDOUT) permet l envoi de tout type de document (HTML évidemment... mais aussi images, PDF, etc.). Messages d erreur (sur STDERR) dans le fichier de log du serveur web (pour debug). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 41 / 62

L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates 10 L interface CGI 11 Conception de CGI (MVC) 12 Les templates Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 42 / 62

L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates Conception d un programme CGI : vue fonctionnelle Le point de vue fonctionnel illustre la perception de l application par les utilisateurs : Représentée sous la forme d un graphe. Les nœuds sont les «écrans» ou «vues», Les arcs sont les «actions». Deux types de d actions : 1 action simple (changement de vue), 2 action modificative (modifiant les ressources du côté serveur). Les actions comme les vues peuvent être génériques : on décrit alors la liste des paramètres reçus. Les actions et les vues sont décrites en fonction des éventuelles modifications, des conditions d accès et de bon usage, des résultats produits... (Ne pas oublier la description du comportement en cas d erreur.) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 43 / 62

L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates Conception d un programme CGI : vue analytique Les étapes du traitement d une requête du point de vue du programmeur : 1 Réception des données de la requête. 2 Choix de l action à réaliser. 3 Vérification de la réception des paramètres (du point de vue Web) : existent-ils? Avec des valeurs du bon type? Correspondent-ils à ceux attendus pour cette action? etc. 4 Vérification de la cohérence de la requête (du point de vue métier) : a-t-on le droit de réaliser cette action? Avec ces paramètres? etc. 5 Réalisation de l action (qui peut-être une action vide). 6 Choix de la vue en retour en fonction des paramètres et du résultat de l action. 7 Récupération des données permettant de créer la vue. 8 Production et envoi de la vue. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 44 / 62

Le modèle MVC L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates Le modèle MVC recouvre les différents points de vue : Utilise trois types d entités : 1 Modèle (conceptuel et physique) des données (cf. cours SGBD) 2 Vues : description des informations contenues dans les «écrans» et de leur structuration en fonction des paramètres. 3 Contrôleurs : description des paramètres et des conditions de réalisation des actions modificatives des données, contrôle d accés, etc.. L organisation des entités et leur enchaînement correspondent à la vue fonctionnelle. L enchaînement d un controleur suivi d une vue correspond au traitement d une requête de point de vue analytique. Définition des rôles. (...schéma à compléter...) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 45 / 62

L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates 10 L interface CGI 11 Conception de CGI (MVC) 12 Les templates Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 46 / 62

Les templates L interface CGI (Common Gateway Interface) Conception de CGI (MVC) Les templates Un moteur de templates (ou «patrons» ou «modèles de documents») utilise des documents génériques, pour produire des documents finaux (instanciés), à partir d un ensemble de données (les paramètres), gère la production des documents (l organisation et la strucuturation de l information) sans donner accès à la logique applicative ni permettre la modification des données (la partie fonctionnelle).... à compléter... (mise en œuvre et exemple avec Template Toolkit) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 47 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Cinquième partie V Divers Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 48 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom 13 Le DNS Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom 14 La sécurité : le contrôle d accès 15 Les mails : SMTP Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 49 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom DNS Domain Name Service, Domain Name Server Le service du DNS Le DNS gère la relation entre les adresses IP et les noms (de machines ou de domaines). L un des services fondamentaux d Internet. Base de données hiérarchique et distribuée. Géré par délégation. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 50 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom La hiérarchie des domaines Un nom de machine s écrit sous la forme (notez le point final) : www.enstimac.fr. Pour comprendre ce nom, il faut le lire de droite à gauche (., fr, enstimac, www). 1 Le point final (.) indique que ce nom est complètement qualifié (en anglais, on parle de FQDN - Fully-Qualified Domain Name). 2 Le nom de domaine de plus haut niveau (fr) s appelle le TLD pour Top Level Domain. 3 Le nom de domaine local est ici réduit à un seul élément (enstimac). 4 Enfin le nom de la machine (www). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 51 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Les TLD Top Level Domain. com mil gov edu net de es fr... uk tv eu biz info name... ibm...... cict enstimac...... www...... www smtp... La racine est gérée par l IANA (techniquement) et l ICANN (politiquement). Les TLD historiques sont gérés par les USA. Chaque pays gère son TLD à deux lettres. Pour la France, c est fr. De nouveaux TLD sont en cours de création... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 52 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Les TLD Top Level Domain. com mil gov edu net de es fr... uk tv eu biz info name... ibm...... cict enstimac...... www...... www smtp... La racine est gérée par l IANA (techniquement) et l ICANN (politiquement). Les TLD historiques sont gérés par les USA. Chaque pays gère son TLD à deux lettres. Pour la France, c est fr. De nouveaux TLD sont en cours de création... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 52 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Les TLD Top Level Domain. com mil gov edu net de es fr... uk tv eu biz info name... ibm...... cict enstimac...... www...... www smtp... La racine est gérée par l IANA (techniquement) et l ICANN (politiquement). Les TLD historiques sont gérés par les USA. Chaque pays gère son TLD à deux lettres. Pour la France, c est fr. De nouveaux TLD sont en cours de création... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 52 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Les TLD Top Level Domain. com mil gov edu net de es fr... uk tv eu biz info name... ibm...... cict enstimac...... www...... www smtp... La racine est gérée par l IANA (techniquement) et l ICANN (politiquement). Les TLD historiques sont gérés par les USA. Chaque pays gère son TLD à deux lettres. Pour la France, c est fr. De nouveaux TLD sont en cours de création... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 52 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Les TLD Top Level Domain. com mil gov edu net de es fr... uk tv eu biz info name... ibm...... cict enstimac...... www...... www smtp... La racine est gérée par l IANA (techniquement) et l ICANN (politiquement). Les TLD historiques sont gérés par les USA. Chaque pays gère son TLD à deux lettres. Pour la France, c est fr. De nouveaux TLD sont en cours de création... Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 52 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Les TLD Top Level Domain 1 Les TLD historiques institutionnels : mil domaine militaire gov domaine gouvernemental edu domaine éducatif sont gérés par le gouvernement américain. 2 Les trois autres TLD historiques : com domaine commercial net domaine réseau (pour les opérateurs) org domaine organisation (pour toutes les autres organisations) sont gérés par des registrars qui sont en concurrences pour les services et leurs tarifs. Le classement des domaines selon leur nature n est absolument pas (plus?) respecté : n importe qui peut acheter un nom de domaine libre dans l un de ces trois TLD. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 53 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Les TLD Top Level Domain Les TLD à deux lettres (selon la norme ISO 3166) sont gérés par chacun des pays concernés. Certains pays, comme le Royaume-Uni, ont adopté une sous-hiérarchie à l américaine (com.uk, edu.uk, mil.uk...). D autres ont adopté une autre politique. En France, la gestion du TLD fr est confiée à l AFNIC (Association Française pour le Nommage Internet en Coopération). Cette association gère aussi le TLD re de l île de la Réunion. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 54 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Création et gestion d un domaine Pour créer un domaine sous un TLD, il faut s adresser à l un des registrars de ce TLD : 1 vérification de la disponibilité du nom de domaine. 2 vérification des informations de contact du demandeur. 3 attribution du nom. 4 perception d un loyer annuel pour la gestion technique du domaine. La plupart des registrars exigent qu un nom de domaine soit réellement utilisé dans les quelques mois qui suivent son attribution pour éviter les enregistrements abusifs. Une fois que ce nom de domaine vous est attribué, vous en avez la gestion par délégation : 1 Création des couples adresse IP / nom canonique de machine et création des alias. 2 Possibilités de créer des sous-domaines (par exemple, l EMAC pourrait créer le sous-domaine eleves.enstimac.fr.) et de déléguer leur gestion à d autres (par exemple le BDE). Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 55 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Hiérarchie des domaines et délégations Fig.: Extrait de la hiérarchie mondiale du DNS avec coloration par délégation. Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 56 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom Exemple de résolution de nom Requête vers le serveur DNS de la machine locale. Requêtes successives depuis les serveurs racines jusqu au serveur faisant autorité. Mise en cache pour efficacité. Gestion de la durée de vie (TTL) pour éviter les erreurs liées aux mécanismes de cache. (...à compléter... cf. http://perso.enstimac.fr/~gaborit/opgsi/dns) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 57 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP 13 Le DNS Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom 14 La sécurité : le contrôle d accès 15 Les mails : SMTP Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 58 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP La sécurité : le contrôle d accès (les mécanismes et outils de la sécurité des SI sont développés dans le cours «Sécurité») Le contrôle d accés dans Apache : Principes (code d erreur 401 pour un serveur Web ou 407 pour un Proxy, mot de passe en clair (Basic) ou chiffré (Digest)). Mise en œuvre dans Apache : Les modules mod_auth et mod_access Les paramètres AuthGroupFile, AuthName, AuthType, AuthUserFile... Les directives Require, Allow, Deny (...à compléter...) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 59 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP 13 Le DNS Définition et caractéristiques Hiérarchie de domaines Mécanismes de résolution de nom 14 La sécurité : le contrôle d accès 15 Les mails : SMTP Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 60 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Les mails : SMTP SNMP SNMP signifie Simple Mail Transfert Protocol L un des plus vieux protocoles d internet. Volontairement très simple (comme son nom l indique). Ne garantie pas grand chose mis à part le fonctionnement basique. (... à compléter... cf. http://perso.enstimac.fr/~gaborit/opgsi/smtp) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 61 / 62

Le DNS (Domain Name Service) La sécurité : le contrôle d accès Les mails : SMTP Les mails : utilisation du protocole «à la main» telnet sur le port 25 du serveur commande MAIL FROM : commande RCPT TO : commande DATA Quitter autres commandes : VRFY, EXPN (... à compléter...) Paul Gaborit (EMAC) Communiquer par les réseaux 2006/2007 62 / 62