programmation internet et intranet
DESCRIPTION
Programmation Internet et Intranet. Stéphane Frénot INSA Lyon 1998 [email protected]. Déroulement du cours. Architectures C/S de données Java Langages de programmation Composants distribués Autres approches. INTRODUCTION. Internet. Réseau de réseaux - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/2.jpg)
Déroulement du cours
• Architectures• C/S de données• Java• Langages de programmation• Composants distribués• Autres approches
![Page 4: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/4.jpg)
Internet
• Réseau de réseaux• Protocoles d’échange d’information
–Bas niveau : TCP,IP ...–Haut niveau : SMTP, NNTP
• RFC
![Page 5: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/5.jpg)
ProtocolesC. Application
C. Présentation
C. Session
C. Transport
C. Réseau
C. Liaison de données
C. Physique
http ftp telnet
gopherpop3
Applications
tcp udpTransport
ip igmpRéseau
icmp
Interfacephysique rarp
Liaison
arp
![Page 6: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/6.jpg)
Protocole Trame
App
Tra
Rés
Phy
Données
DonnéesEntête http
DonnéesEntête httpEntête TCP
DonnéesEntête httpEntête TCPEntête IP
DonnéesEntête httpEntête TCPEntête IPDeb Eth
Message applicatif
Segment TCP
Datagramme IP (Packet)
Fin Eth
![Page 8: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/8.jpg)
Caractéristiques d’un protocole
• Nom : Simple Mail Transfert Protocol
• Rfc : 1830, 1845, 1846… (ftp://ftp.univ-lyon1.fr/pub/rfc)
• Mode de fonctionnement : Connecté
• Port de connexion : 25
• Commande / Requêtes : EXPN, QUIT, HELO...
• Client : Eudora
• Serveur : Sendmail
![Page 9: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/9.jpg)
Protocoles Applicatifs Exemples
Famille Nom Client Serveur PortCourrier SMTP Sendmail Sendmail 25
Pop3 Eudora Popper 110IMAP Eudora Imapd 143
Transfert de fichiers FTP ftp Ftpd 20/21Forums NNTP Tin Nntpd 119Web HTTP Netscape Httpd 80Conversion IP/Nom DNS Resolver BIND
in.named42/udp
![Page 10: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/10.jpg)
Fonctionnement d’un serveur
•Démon
•Ecoute sur un port
•Accepte une connexion
•Répond aux requêtes du client
•Principe de lancement
•Manuel
•Inetd
•Boot
![Page 11: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/11.jpg)
Exemple de connexion
telnet ifhpserv 25=>220 ifhpserv.insa-lyon.fr ESMTP Sendmail 8.7.1/8.6.9 ready at Sun, 11 Oct 1998 13:52:07 +0200 (METDST)
EXPN stephane.frenot=>250 Stephane FRENOT <[email protected]>
------------------------------------------------------------------------------------
Programmes mis en œuvre :
?
![Page 12: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/12.jpg)
/etc/services
tcpmux 1/tcp # rfc-1078echo 7/tcpecho 7/udpdiscard 9/tcp sink nulldiscard 9/udp sink nullsystat 11/tcp usersdaytime 13/tcpdaytime 13/udpnetstat 15/tcpchargen 19/tcp ttytst sourcechargen 19/udp ttytst sourceftp-data 20/tcpftp 21/tcptelnet 23/tcpsmtp 25/tcp mail
![Page 13: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/13.jpg)
/etc/inetd.conf
# Internet services syntax:# <service_name> <socket_type> <proto> <flags> <user> <server_pathname> <args>## Ftp and telnet are standard Internet services.#ftp stream tcp nowait root /usr/etc/in.ftpd in.ftpdtelnet stream tcp nowait root /usr/etc/in.telnetd in.telnetd## Shell, login, exec, comsat and talk are BSD protocols.#shell stream tcp nowait root /usr/etc/in.rshd in.rshd## Popper#pop3 stream tcp nowait root /usr/local/lib/popper popper -s -d -t /var/log/poplog
![Page 16: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/16.jpg)
Le Web : l’architecture
Réseau de ressources d’information (89/93/94)• Clients de consultation
– Navigateur, butineur, arpenteur, browser... – Netscape Communicator, Microsof Internet Explorer
• Serveurs de documents – HTTP, démon HTTP, Serveur Web– Apache (www.apache.org), Microsoft IIS, Netscape, Cern
=> Consultation de documents
![Page 18: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/18.jpg)
Principes d’échange des documents
• Standardiser les échanges
• Identifier de manière unique les documents
• Standardiser les formats des documents
• Connecter les documents dans un hypertexte
![Page 19: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/19.jpg)
HTTP/1.1
• Requêtes : – GET, HEAD, POST, (PUT)
• Réponses : – 100 - 199 : Informatif : 100 Continue– 200 - 299 : Requête client réussie : 200 OK– 300 - 399 : Requête client redirigée : 301 Moved Permanently– 400 - 499 : Requête client incomplète : 408 Request Time-out– 500 - 599 : Erreur du serveur : 500 Internal Server Error
• Entêtes :– Généraux : Cache-Control : no-cache ...– Client : User-Agent : mozilla 2.0– Serveur : Retry-After : 260– Entité : Content-Length : 821
![Page 20: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/20.jpg)
Exemple HTTP
• telnet lisiaix0 80• >GET /index.html HTTP/1.0• >User-Agent: libwww/2.12• >• => HTTP/1.1 200 OK• => Date: Fri, 11 Feb 1998 18:30:27 GMT• => Server: Apache/1.2.4• => Content-Length: 381• => Content-Type: text/html• =>• => <HTML>• => <BODY>• => Bonjour tout le monde ....• => </BODY>• => </HTML>
![Page 21: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/21.jpg)
Identification des ressources URI/URL
liste des paramètres(requêtes)
nom du pointeurds le doc. HTML
Chemin d'accès(relat. ou absol.)
80 par défaut<1023 root1023 < x < 65537 user
méthode protoc. d'accès à la ressourcefile ress. localeftp FTPhttp HTTPtelnet TELNETgopher GOPHERwais WAISnews NNTP
nom de la machine
méthode://machine:port/fichier[#ancre | ?paramètres]
![Page 22: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/22.jpg)
Standardiser les formats : MIME
• Fichiers de correspondance format/suffixe• Serveur : trouve l’emballage
application/msword docapplication/octet-stream bin dms lha lzh exe classaudio/basic au sndchemical/x-pdb pdb xyzimage/gif gifmessage/newsmultipart/mixedtext/html html htmvideo/quicktime qt movx-conference/x-cooltalk icex-world/x-vrml wrl vrml
• Client : trouver l’action à réaliserInterpréte la ressource (text/html, image/gif, plug-ins)Transmet la ressource à une application externeDemande à l’utilisateur
![Page 23: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/23.jpg)
Hypertexte de documents : HTML
• HTML : HyperText Markup Langage 89 ?• "Langue maternelle de publication sur le Web que tous les
ordinateurs doivent comprendre"– Publier des documents– Chaîner de l’information par des liens HT– Définir des formulaires de saisie – Inclure divers types ressources
• DTD SGML– Définit la structure d’un document HTML
• Les balises et leur organisation
– Structures des balises d’un document HTML• Contenu des balises
![Page 24: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/24.jpg)
HTML Structure d'un document
<Html><Head>Information sur le document</Head><Body>Document html</Body>
</Html>---------------------------------------------------------<!Element HTML (Head, Body)><!Element Head pcdata><!Element Body pcdata>
![Page 25: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/25.jpg)
HTML Les types de balises• Balises simples d'organisation : <br>, <hr>
• Balise de formattage de texte : <b> </b>, <i> </i>, <center></center>
• Balises logiques : <adresse>... <adresse>, <bloquote>...</bloquote>, <H1>...</H1>
• Balises structurelles : <table> <tr> <td>,<ol> <li>
• Balises paramétrées : <img src="logo.gif">,<a href= "index.html">,<p align="center">
• Appels de scripts clients :<script><applet><object>
• Formulaires et champs de saisie de l'information : <form> <input>
• Multidocuments ou document multicadre : <frameset> <frame>
![Page 26: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/26.jpg)
HTML Exemple
<HTML><HEAD> <META NAME="Author" CONTENT="sfrenot"> <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [fr] (Win95; I)[Netscape]"> <TITLE>Publications</TITLE></HEAD><BODY BACKGROUND="fond.jpg"><IMG SRC="./logoinsa.gif" WIDTH=40 HEIGTH=40>Ceci est le texte du document il peut contenir des balises simples<I> en italique </I> <br><hr>des balises paramétrées<P align="center"> paragraphe centré</p>et des <A HREF="HTTP://www.insa-lyon.fr"> hyperliens </A><table border=1><tr><td> et </td><td> un </td><td> tableau </td></tr><tr><td colspan=3>+++++++++++++++++++++++</td></tr></table></BODY></HTML>
![Page 29: Programmation Internet et Intranet](https://reader031.vdocuments.fr/reader031/viewer/2022011718/56814d62550346895dbab054/html5/thumbnails/29.jpg)
HTML Problèmes
• HT• Qualité graphique des Serveurs• Standards inexistants• Pas de dynamique de fonctionnement• Principe de parse HTML lourd• Internet -> Professionnel (HTML fait “à la louche”)• Grosse concurrence• Sites fantômes