Les serveurs web

Sur l'ordinateur local, un client HTTP, le navigateur (Firefox, Chrome …) envoie des demandes de documents ou des données à un ordinateur distant le serveur web.

Le serveur web correspond à un ensemble de plusieurs serveurs spécialisés qui travaillent ensemble :

serveur HTTP (Apache, nginx, …)

serveurs pour langage dynamique (PHP, Perl, Python, …)

serveur de base de données (MySQL, PostgreSQL, …)

Fonctionnement

http://www.atelierphp.net

L'internaute saisit l'adresse URL d'une page dans le navigateur

Cette adresse est analysée par les équipements pour localiser le serveur demandée

Le serveur reçoit la demande, trouve la page et l'analyse

Les parties entre balises <? … ?> (<?php ….. ?>) sont envoyées au module (ici PHP) pour y être exécutées

Les instructions faisant référence aux bases de données sont transférées au module base de données

Le module base de données exécute les requêtes SQL et renvoie les données

Le module PHP intègre ces données, et renvoie au serveur HTTP le code HTML généré

Les données sont renvoyées par le serveur

Puis acheminées jusqu'au le poste client, la page est affichée

2 tutos détaillant ce fonctionnement :

mes explications en plus détaillé sur www.atelierphp.net

Un cours complet sur OpenClassrooms

Pages web

Les pages statiques sont interprétés par les navigateur web quel que soit leur lieu de stockage, fichier enregistré en local sur votre ordinateur ou pages sur un serveur web. A chaque affichage, on retrouve le même contenu car aucune action du visiteur ne peut modifier le code. Les pages web statiques ne contiennent que du HTML et du CSS.

Les pages dynamiques ne peuvent pas être interprétés par les navigateurs car elles contiennent des instructions de programmation. Elles doivent être transformées en HTML par un serveur correspondant au langage utilisée (PHP, Perl, Python, …) avant d'être envoyée au navigateur web pour affichage. Elles ne peuvent donc pas être stockées en local et doivent l'être sur un serveur web qui lors de leur appel les transmet au serveur spécialisé. Celui remplace les instructions de programmation par du HTML avant de les retourner au serveur web. Il est alors possible de les envoyer au navigateur. La page reçu ne contient donc que du HTML et du CSS. Une même page peut correspondre à des affichages différents en fonction du résultat des instructions de programmation.