Visualisation interactive du cycle Requête / Réponse HTTP · Fichier statique vs Script dynamique
GET /index.html HTTP/1.1 Host: monsite.be Accept: text/html Accept-Language: fr-BE Connection: keep-alive Cache-Control: no-cache
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Content-Length: 1842 Last-Modified: Mon, 10 Mar 2025 Cache-Control: max-age=3600 <!DOCTYPE html> <html><head>... <body><!-- Contenu statique -->
POST /form.php HTTP/1.1 Host: monsite.be Content-Type: application/x-www-form-urlencoded Content-Length: 28 Cookie: PHPSESSID=abc123 nom=Alice&message=Bonjour
<?php // Récupère les données du formulaire $nom = htmlspecialchars($_POST['nom']); $message = htmlspecialchars($_POST['message']); ?> <!DOCTYPE html> <html><body> <h1>Bonjour, <?= $nom ?> !</h1> <p><?= $message ?></p> </body></html>
<?php $pdo = new PDO( 'mysql:host=localhost;dbname=blog', 'user', 'pass' ); $stmt = $pdo->query( 'SELECT titre, date FROM articles ORDER BY date DESC LIMIT 10' ); $articles = $stmt->fetchAll(); ?> <?php foreach($articles as $a): ?> <li><?= $a['titre'] ?></li> <?php endforeach; ?>
-- Requête envoyée à MySQL : SELECT titre, date FROM articles ORDER BY date DESC LIMIT 10; -- Résultat retourné : +-------------------------+------------+ | titre | date | +-------------------------+------------+ | Mon premier article | 2025-03-15 | | Introduction à PHP | 2025-03-10 | +-------------------------+------------+
.html — lu tel quel sur le disque.php — exécuté → génère du HTML$_SESSION, cookies…$_POSThtmlspecialchars()index.html. Apache lit le fichier sur le disque et le renvoie tel quel. Aucun code n'est exécuté. Le contenu est identique pour tout le monde..php, confie le fichier au moteur PHP. Le script s'exécute, peut lire $_GET/$_POST, interroger MySQL, utiliser les sessions… et produit du HTML à la volée.