Communication sur le web

Slides:



Advertisements
Présentations similaires
Les protocoles réseau.
Advertisements

Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP.
Le monde i-mode Epreuve Oral – 16/03/05 Master STIC / CAM API et environnement de développement Bakogiannis Anastasios ( )
Cours de C – Séance dexercices 19 Octobre Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur.
Cours de C – Séance dexercices 02 Octobre Protocole: client Protocole : – Requête client : GET /test.html HTTP/1.1\r\n Host: nom_de_l_hote\r\n Parameter:
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Conception de Site Webs dynamiques Cours 6
Conception de Site Webs Interactifs Cours 3
Présentation de l’Internet
Internet.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Exposé de Système - Informatique et Réseau
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
1 Les technologies XML Cours 4 : Les Web Services et XML- RPC Février Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Design Pattern MVC En PHP5.
Web dynamique : solutions Sessions sous HTTP
TP 3-4 BD21.
Servlet JAVA.
FLSI602 Génie Informatique et Réseaux
Common Gateway Interface
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
XML-Family Web Services Description Language W.S.D.L.
Le langage ASP Les variables d'environnement HTTP avec Request.
Comprendre l’environnement Web
Analyse des protocoles de la couche application
Développement Rapide dApplications Web avec.NET « Mon premier site »
Lycée Louis Vincent Séance 1
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Gestion des bases de données
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
JSP (Java Server Pages)
AJAX.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Initiation au web dynamique
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Applications web1 Cours Web Services ISIMA 3F3. Applications web2 JavaScript Inventé par Netscape... sans rapport avec Java. Standardisé par l’ECMA, spécification.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Module I-C3 : Applications Web IUT R&T 2e année
CENTRALISATION DES CANDIDATS LOCATAIRES
Travail de diplôme José Garrido Professeur : Philippe Freddi Explorer Internet en toute sécurité Surf Safe SPY INTERNET.
Négociation et adaptation à base de profil utilisateur
PHP 5° PARTIE : LES COOKIES
1 F o r m a t i o n A R S World Wide Web (WWW). 2 F o r m a t i o n A R S Contributions m Création: Claude Gross (UREC) m Modifications: Bernard Tuy,
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Les réseaux - Internet Historique Réseau local Internet Les protocoles
Cours de programmation web
Mastère Professionnel Systèmes de Communication et Réseaux
Auvray Vincent Blanchy François Bonmariage Nicolas Mélon Laurent
Installation et Configuration Internet Information Server (IIS 6)
S'initier au HTML et aux feuilles de style CSS Cours 5.
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
Développement d’application Web.  Internet  WWW  Client/Serveur  HTTP.
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
Struts.
S'initier au HTML et aux feuilles de style CSS Cours 5.
 Formulaires HTML : traiter les entrées utilisateur
Cours Web Services ISIMA 3F3
Representational State Transfer - REST
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Les évolutions du WEB Des technologies,... et un peu plus...
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Sécurité des Web Services
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

Communication sur le web Cours Web Services ISIMA 3F3

Besoin Systèmes d'information hétérogènes Communication entre eux Windows / MAC / Unix ... Répartis aux quatre coins du monde Communication entre eux Exemples : Twitter, Facebook, Google...

Communication Communication Homme/Machine Interface de communication visuelle Affichage et saisie d'informations Communication Machine/Machine Interface de communication numérique Envoi et réception d'informations entre systèmes hétérogènes

(URL) Uniform Resource Locator Uniform Resource Identifier : Uniform Resource Locator : http://www.google.fr mailto:coupelon@isima.fr?subject=Bonjour Uniform Resource Name http://fr.wikipedia.org/wiki/Schéma_d'URI http://server:port/path/to/resource?p1=v1&p2=v2 Protocole Nom du serveur et port Chemin de la ressource Requête

Le protocole HTTP (HyperText Transfer Protocol) Permet d'échanger des informations et documents Toujours Request/Response Le protocole d'échange sur le Web Un protocole d'échange sur Internet

HTTP GET /index.html HTTP/1.1 Host: www.example.com HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Accept-Ranges: bytes Content-Length: 10 Connection: close Content-Type: text/html; charset=UTF-8 <html><body>Hello world!</body></html>

Méthodes HTTP GET : demande la représentation d'une ressource. HEAD : idem, mais sans le contenu (horodatage) POST : envoi de données pour traitement PUT : mise à jour d'une ressource DELETE : suppression d'une ressource OPTIONS : liste les méthodes supportées par la ressource Les navigateurs web utilisent GET, POST et parfois HEAD.

Code retour HTTP Ils permettent d'indiquer au user-agent comment la requête a été traitée et que faire de la réponse donnée. Exemples : • 200=ok, 201=created • 301=moved, 307=temporary redirect • 401=unauthorized, 404=not found • 500=internal error, 501=not implemented  Le bon emploi des codes de statut est très important aussi bien coté client que serveur. A ne pas faire : répondre par 200 au lieu d'un 404 pour une ressource inexistante ...

MIME (Multipurpose Internet Mail Extensions) Permet de décrire le type de données échangées (ex : Content-Type: text/plain) lors d'une transaction HTTP (HTML, JPEG, PNG, XML, CSS, ZIP, ...).   A l'origine prévu pour SMTP. Il existe des identifiants standards : text/plain, text/html, text/xml, text/css, text/javascript video/mpeg, video/mp4 image/gif, image/png, image/jpeg audio/mpeg, audio/x-wav application/pdf, application/json, application/octet-stream, application/zip (...)

Sécurité du protocole Déclinaison TLS (SSL) du HTTP : HTTPS Transport Layer Security (Secure Sockets Layer) Authentification du protocole : Basic : Login/Mot de passe transmis en clair sur le réseau. Digest : Mot de passe codé, plus sécurisé.

HTTP : un protocole sans état Stateless : deux requêtes consécutives sont sans lien pour HTTP. Mécaniques de sessions : Coté serveur : HTTPSession, qui pour un identifiant de session donné stocke des informations. Coté client : cookie qui contient l'identifiant de session, et d'autres informations conservées côté client. Ces informations ne peuvent être critiques, car modifiables par le client.

Construction de la réponse HTTP Contenu statique (images, pages statiques, fichiers) : L'accès à la ressource est fait en fonction de la requête HTTP demandée, le contenu est simplement copié Contenu dynamique : Les données sont calculées en fonction des paramètres en entrée et renvoyées au client. C'est le serveur Web qui est configuré pour déterminer la nature du contenu.

Exemple de requête HTTP

Common Gateway Interface (CGI) Protocole normalisé pour invoquer un programme externe (Perl, C++, Python, Ruby, ...) Des variables d'environnement sont positionnées (IP client, chemin de requête, etc) puis le programme est invoqué. Les flux standard sont utilisés (réponse, traitement POST, ...). Cette solution est flexible mais a un coût certain : chaque requête entraine la création / destruction d'un processus.

FastCGI ... même principe que CGI, à la différence que les processus restent en mémoire. 1 processus peut traiter plusieurs requêtes (multiplexing et connexions multiples). Possibilité de lancer plusieurs processus "en cluster". Utile dans de nombreux cas pour Ruby on Rails, Django, etc.

Embarqué dans le serveur Web Les programmes sont embarqués dans le serveur web : mod_python mod_perl mod_php Servlets (...) Approche relativement simple, mais : attention aux crashes / sécurité alourdit le serveur attention à la montée en charge

Conteneur pour un serveur d’application Pour une technologie, fournit un ensemble d’outils permettant de gérer et de faciliter le développement de cette technologie Conteneur Web (gestion des servlets, URL…) Conteneur d’EJB (gestion des états, chargement…)

Conteneur Web Conteneur de servlet Tomcat est le plus connu. Glassfish, WebSphere, JBoss… embarquent un conteneur web. Les servlets permettent le paramètrage et la gestion de : Mapping d'URL Filtres Authentification (…)

Hello World

Configuration des servlets : web.xml

Java Server Pages (JSP) Une JSP est une page convertie automatiquement par le conteneur web en Servlet. Deux générations : JSP : On met du code HTML et du Java ensemble, le Java dans des balises <%= Heure : new Date() %> A éviter !! JSP 2 : Utilisation d’expression language et taglib pour l’accès dynamique aux données, pas de Java dans les pages.

Architecture Modèle-Vue-Contrôleur Séparation de ces trois concepts dans le code, afin de les gérer indépendamment : Modèle : Les données sont gérées par une couche à part. Une base de données est contrôlée par une couche spécifique (DAO, JPA), les requêtes ne sont pas dans les pages. Vue : Les pages à afficher ne contiennent que l’affichage et les données concernées. Contrôleur : Définit le routage des pages, en fonction de la requête en entrée.