Rappel sur la séparation des tâches dans une application web classique:
1. Requête HTTP : le navigateur demande un document (une URL) ou envoie des données à une URL.
2. Serveur HTTP (Apache par exemple): répond à la requête. Ça peut être en renvoyant un fichier statique (HTML, CSS, JavaScript, image, PDF, tout ce qu'on veut). Dans certains cas, le serveur peut envoyer la requête à un script qui va traiter l'information et fournir la réponse (du texte ou du code binaire).
2 bis. [Facultatif] Un script côté serveur est exécuté. Ça peut être pour traiter des informations reçues (les données d'un formulaire par exemple), ou simplement pour récupérer des contenus depuis une base de données et construire une page HTML (ou autre contenu) à partir de ces contenus. Le script en question peut être du PHP, du Python, de l'ASP (qui recoupe plusieurs langages), du Ruby, du Java, du JavaScript, et d'autres langages encore. PHP est le plus répandu pour des petits sites.
3. Le serveur HTTP renvoie au navigateur le fichier demandé ou bien le contenu retourné par le script. C'est une réponse HTTP, composée d'une série d'en-têtes (métadonnées et instructions concernant le type de contenu, la date de la réponse, le codage de caractères, etc.) et du corps de la réponse. Le corps de la réponse peut être une page HTML, un fichier CSS ou JavaScript, une image, etc.
4. Le navigateur réceptionne la réponse HTTP et l'exploite.
Enfin, il faut savoir qu'une page web est généralement composée de plusieurs ressources qui vont chacune faire l'objet d'une requête HTTP (étapes 1 à 4). On a le plus souvent:
- une page HTML («statique» ou générée côté serveur par un script), qui fait appel à d'autres ressources;
- une ou plusieurs feuilles de styles;
- un ou plusieurs scripts JavaScript (pas indispensable pour un site de publication, mais essentiel pour une application web moderne);
- des images (appelées depuis le code HTML s'il s'agit de contenus ou illustrations, ou appelées depuis la feuille de styles s'il s'agit d'images de fond).
Ça serait plus simple avec un schéma mais là j'ai un peu la flemme et puis ça existe sans doute déjà dans quantité de bons bouquins et tutoriels.
Modifié par fvsch (09 Mar 2012 - 13:51)