Internet, comment ça marche ?
Dans cette partie, nous allons essayer de comprendre comment fonctionnent le Web et Internet en général. Une bonne compréhension de cette couche réseau vous permettra de mieux envisager le fonctionnement et l’importance de PHP. Web et autres protocoles Le Web est un réseau mondial de machines parlant la même langue. En informatique, cette langue est appelée « un protocole ». Le protocole du Web est l’HTTP (Hypertext Transfer Protocol). Le Web n’est qu’un réseau parmi tant d’autres, HTTP a en effet de nombreux « cousins ». Tableau 1.2 : Quelques protocoles de haut niveau et leur fonction Protocole Signification Fonction FTP File Transfer Protocol Transfert de fichiers IRC Internet Relay Chat Dialogue en direct NNTP Network News Transfer Protocol Envoi, lecture de news POP Post Office Protocol Récupération des courriels SMTP Simple Mail Transfer Protocol Envoi des courriels Chacun a donc un rôle qui lui est propre et de nouveaux réseaux se créent tous les jours pour répondre aux nouveaux besoins des internautes. Nous avons ainsi vu depuis quelques années l’émergence des réseaux P2P de type BitTorrent qui permettent la recherche et l’échange de fichiers. Créer un nouveau protocole ne consiste en fait qu’à définir une nouvelle langue compréhensible à la fois par un client et par un serveur. Tableau 1.3 : Exemple simplifié d’une définition de protocole Requête client Réponse serveur HELLO HELLO Internet, comment ça marche ? C Tableau 1.3 : Exemple simplifié d’une définition de protocole Requête client Réponse serveur RECEVOIR toto.txt Envoyer le fichier toto.txt MESSAGE PAUL bonjour Envoyer le message « bonjour » à l’utilisateur PAUL En réalité, l’acceptation d’un nouveau protocole en tant que standard est extrêmement compliquée. Tout doit être parfaitement « ficelé ». Les cas les plus bizarres doivent avoir été considérés. La page http://sunsite.dk/ RFC/rfc/rfc2616.html présente le protocole HTTP version 1.1 dans toute sa richesse et sa complexité. Chaque protocole nécessite une application cliente qui lui est propre. Pour le HTTP, c’est un navigateur web ; pour le NNTP, c’est un lecteur de news ; pour le FTP, il s’agit d’un client FTP.
TCP/IP et Internet
Malgré cette profusion de protocoles, une chose ne change pas ; ces réseaux sont tous fondés sur un protocole sous-jacent unique : TCP/IP (Transmission Control Protocol/Internet Protocol). C’est cette combinaison de réseaux basés sur TCP/IP que l’on appelle Internet. Le réseau Internet est vraiment l’élément fondateur qui a permis l’émergence du Web, du mail et de tous ces services dont nous ne pourrions plus nous passer aujourd’hui. Comme pour beaucoup d’avancées scientifiques, cette invention est d’origine militaire. Dans les années 1960, une équipe de chercheurs plancha sur un système permettant d’assurer la continuité des échanges d’informations sensibles (entre des postes stratégiques), et cela même si certains postes (et donc certaines liaisons) étaient détruits. De cet impératif naquit TCP/IP. Ce protocole permet de découper les informations (pages web, courriels, images) en petits paquets et de les acheminer (de les « router ») d’un point à un autre. L’idée originale est la suivante : pour arriver à la même destination, tous ces paquets ne sont pas obligés de passer par la même route. Il est ainsi possible qu’un paquet passe par l’Asie pour aller de la France vers l’Angleterre si aucune autre route n’est à ce moment disponible. Il faut donc imaginer Internet comme un maillage mondial de serveurs interconnectés. C’est du fait de cette architecture que l’on parle, à propos du Web, de « toile d’araignée »
Le serveur web
Le Web est donc un protocole applicatif fonctionnant sur un mode client-serveur. Quand l’internaute souhaite voir la page information du site monsite.com, située à l’adresse (URL) www.monsite.com/info.html, il utilise un navigateur de type Internet Explorer, Netscape, Firefox, Opera, Lynx, Konqueror… Le navigateur va ensuite demander au serveur ayant l’adresse www .monsite.com de lui transmettre la page ayant pour nom info.html. Essayons de comprendre plus en détail comment cet échange se déroule. Figure 1.8 : Le site kernix.com vu depuis le navigateur ELinks (mode texte) sous Unix Internet, comment ça marche ? Chapitre 1 LE GUIDE COMPLET 35 Étape 1 : le navigateur envoie une requête Vous commencez par écrire l’URL http://www.google.fr/index .html dans votre navigateur. Une fois cette adresse validée, le navigateur va enchaîner différentes actions. Il commence par regarder quel type de protocole va être utilisé. Si l’URL commence par http://, c’est le protocole HTTP. En revanche, s’il s’agit de ftp://, le navigateur devra alors utiliser le protocole FTP. Il doit ensuite découvrir où se trouve le serveur web www.google.fr. Pour cela, il va utiliser un autre service du Net : les DNS (Domain Name Server ; des adresses DNS sont systématiquement fournies par votre fournisseur d’accès). Les DNS sont des serveurs qui permettent d’associer un nom de domaine (www.google.fr) à une IP (216.239.39.101), un peu comme les pages blanches associent M. Dupont à son numéro de téléphone 01 02 03 04 05. Cette adresse IP est unique et identifie par conséquent de manière tout aussi unique le serveur web. C’est donc grâce à cette adresse IP que votre navigateur va pouvoir repérer le bon serveur sur Internet et entrer en contact avec lui. Comme il s’agit, dans ce cas, du protocole HTTP, le navigateur va communiquer avec le serveur HTTP (web) du serveur 216.239.39.101. La requête qui sera faite vise à obtenir la page ayant pour nom index.html