La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Communication sur le Web1 Communication sur le web Cours Web Services ISIMA 3F3.

Présentations similaires


Présentation au sujet: "Communication sur le Web1 Communication sur le web Cours Web Services ISIMA 3F3."— Transcription de la présentation:

1 Communication sur le Web1 Communication sur le web Cours Web Services ISIMA 3F3

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

3 Communication sur le Web3 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

4 Communication sur le Web4 (URL) Uniform Resource Locator Uniform Resource Identifier : Uniform Resource Locator : Uniform Resource Name ProtocoleNom du serveur et port Chemin de la ressource Requête

5 Communication sur le Web5 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

6 Communication sur le Web6 HTTP GET /index.html HTTP/1.1 Host: HTTP/ OK Date: Mon, 23 May :38:34 GMT Server: Apache/ (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan :11:55 GMT Accept-Ranges: bytes Content-Length: 10 Connection: close Content-Type: text/html; charset=UTF-8 Hello world!

7 Communication sur le Web7 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.

8 Communication sur le Web8 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...

9 Communication sur le Web9 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 (...)

10 Communication sur le Web10 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é.

11 Communication sur le Web11

12 Communication sur le Web12 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.

13 Communication sur le Web13 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.

14 Communication sur le Web14 Exemple de requête HTTP

15 Communication sur le Web15 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.

16 Communication sur le Web16 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.

17 Communication sur le Web17 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

18 Communication sur le Web18 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…)

19 Communication sur le Web19 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 (…)

20 Communication sur le Web20 Hello World

21 Communication sur le Web21 Configuration des servlets : web.xml

22 Communication sur le Web22 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 A éviter !! JSP 2 : Utilisation d’expression language et taglib pour l’accès dynamique aux données, pas de Java dans les pages.

23 Communication sur le Web23 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.


Télécharger ppt "Communication sur le Web1 Communication sur le web Cours Web Services ISIMA 3F3."

Présentations similaires


Annonces Google