Cours de C – Séance dexercices 19 Octobre 2007. Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur.

Slides:



Advertisements
Présentations similaires
Cours de C – Séance dexercices 12 Octobre Exercice 5 Idem quexercice 1 : lire une ligne au clavier Sans limitation de la longueur de la ligne (utilisez.
Advertisements

Cours de C – Séance dexercices 25 Septembre 2007.
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:
1 Georgeta BĂDĂU CRÉATION ET GESTION DUN BLOG AVEC LA PLATE-FORME LEWEBPEDAGOGIQUE.COM Séance no.6.
Connecter des données métier à Office SharePoint Server 2007 via le Business Data Catalog.
CORRECTION DU DEVOIR DE SYNTHESE N° 2
Internet.
Copyright France Télécom, tous droits réservés Paris Web Ateliers Les bibliothèques JS jQuery Orange Labs Julien Wajsberg, Recherche & Développement.
Exposé de Système - Informatique et Réseau
Module 6 : Gestion et analyse du système DNS
1 Les technologies XML Cours 4 : Les Web Services et XML- RPC Février Version 1.0 -
C.
Personal Home Page / Hypertext Processor (PHP)
FLSI602 Génie Informatique et Réseaux
FLSI602 Génie Informatique et Réseaux
Jérôme CUTRONA PHP et bases de données Jérôme CUTRONA 01:07:51 Programmation Web
Parallel Programming in C with MPI and OpenMP
Common Gateway Interface
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
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
Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.
COME Bernard Comeau Commerce électronique Les éléments retrouvés dans une page Web. COME 2001.
Scanning.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Comprendre l’environnement Web
Labview Programmation réseau Communication par sockets
Les instructions PHP pour l'accès à une base de données MySql
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Les relations clients - serveurs
Les fichiers binaires en C++
SEANCE 10 Python Entrée et sortie de fichiers Lycée Louis Vincent Lundi 20 janvier
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
Web dynamique PhP + MySQL AYARI Mejdi 2006
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
JSP (Java Server Pages)
AJAX.
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
CSI2520 Ecriture sur l'écran ou dans un fichier Lecture à partir du clavier ou dun fichier Affichage de termes : *write(1+2) affiche 1+2 *write(X). affiche.
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
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
Communication sur le web
KRIKORIAN Pierre HILMI Brahim
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
Labo 4 : Les structures et les entrées et sorties
Projet télésurveillance
 Requêtes MySQL en PHP Introduction
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Application de gestion des retards
Auvray Vincent Blanchy François Bonmariage Nicolas Mélon Laurent
Les sockets.
Unix Raymond Ripp.
Finder => Application => Utilitaires => Terminal Editor:pico Touches –Finder=>Applic.=> Utili. => Touches –~: Alt+N –|: Shift+Alt+N –[: Shift+ Alt+5 –{:
http 1.1.  connexion persistante Browser Mozilla Firefox Adresse ip.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
 Formulaires HTML : traiter les entrées utilisateur
Initiation au JavaScript
Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java
Architecture Client/Serveur
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Séminaire de rentrée cours de programmation web & Wordpress
Client/Server Socket. Client/Serveur.
CPI/BTS 2 Programmation Web Introduction au HTML Prog Web CPI/BTS2 – M. Dravet – 18/09/2003 Dernière modification: 18/09/2003.
INF2005– Programmation web– A. Obaid Les cartes. INF2005– Programmation web– A. Obaid Images cliquables Outil permettant d'effectuer des liens à partir.
Développement d’applications Web
Transcription de la présentation:

Cours de C – Séance dexercices 19 Octobre 2007

Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur gérant une seule requête

Protocole: client Protocole : – Requête client : GET /test.html HTTP/1.1\r\n Host: nom_de_l_hote\r\n Parameter: Value\r\n ….. \r\n Nécéssité de traiter les \r\n et les \n\n aussi.

Protocole: Serveur Protocole – Réponse serveur HTTP/ OK\r\n – ( ou 404 Not Found, ou 500 Internal Error ) Content-Type: text/html\r\n – (ou image/jpeg, image/png, image/gif … ) Content-Length: 1242\r\n Connection: Close \r\n DATA

Etape 0 A laide de main_http.c et Struct_http.h créer le projet Rajouter à la main les fonctions manquantes (vides) Le faire compiler

Etape 1 Utiliser la structure définie dans Struct_http.h Implémentation de la fonction read_request – Lire stdin jusquà la première ligne vide – Prévoir le cas où \r est converti en \n – Identifier le type de requête, et éventuellement appeler prepare_get_request

Etape 2 Implémentation de la fonction process_get_request – Trouver dans la première ligne le nom du fichier demandé (utiliser strchr) – Remplir la structure dont le pointeur est passé en argument

Etape 3 Coder la fonction prepare_get_response – Lire le fichier – Remplir le buffer de la structure – Remplir la longueur – Remplir le Content-Type

Etape 4 Coder la fonction post_response – Afficher dans lordre les métadonnées contenues dans la structure – \r\n – Afficher le contenu du buffer de réponse Cette fonction doit gérer les codes derreur RESPONSE_ERROR et RESPONSE_NOT_FOUND

Les astuces Le fichier : louvrir en lecture avec le more « rb », le « b » est TRES important Ajouter le mode binaire : _setmode(fileno(stdout), _O_BINARY); Penser que lutilitaire convertit les \r en \n !

On branche Utiliser le programme « netcat_modified » Le lancer avec largument « -L 8000 –e » Pointer le navigateur vers