1.3 – Arquitectura cliente-servidor con PHP

Antes de empezar a programar con PHP, es importante entender dónde se ejecuta PHP y qué papel tiene dentro de una aplicación web.

Cuando entramos en una página web, normalmente participan dos partes:

ParteQué esEjemplos
ClienteEl dispositivo o programa que solicita la páginaNavegador web: Chrome, Firefox, Edge, Safari
ServidorEl equipo que recibe la petición, procesa la información y devuelve una respuestaServidor con Apache, Nginx, PHP, MySQL, etc.

1. ¿Qué es el cliente?

El cliente es normalmente el navegador del usuario.

Por ejemplo, cuando un alumno escribe en el navegador:

https://miweb.com/index.php

El navegador está haciendo una petición al servidor donde está alojada esa página.

El cliente puede interpretar principalmente:

TecnologíaDónde se ejecutaPara qué sirve
HTMLEn el navegadorEstructura de la página
CSSEn el navegadorDiseño y estilos
JavaScriptEn el navegadorInteractividad

Por ejemplo, el navegador sí entiende este código:

<h1>Hola mundo</h1>
<p>Esta página se muestra en el navegador.</p>

Pero el navegador no ejecuta PHP directamente.


2. ¿Qué es el servidor?

El servidor es el equipo que recibe la petición del cliente y prepara la respuesta.

En una aplicación PHP, el servidor suele tener instalados varios elementos:

ElementoFunción
Apache o NginxServidor web que recibe las peticiones
PHPLenguaje que procesa la lógica en el servidor
MySQL/MariaDBBase de datos donde se guarda información
Sistema operativoLinux, Windows Server, etc.

Un servidor puede estar en Internet, en una empresa, en un hosting o incluso en nuestro propio ordenador durante las prácticas.

Por ejemplo, cuando usamos XAMPP, Laragon, MAMP o Docker, estamos creando un pequeño entorno de servidor en local.


3. ¿Dónde se ejecuta PHP?

PHP se ejecuta en el servidor, no en el navegador.

Esto es una idea clave.

Cuando tenemos un archivo llamado:

index.php

y dentro escribimos:

<?php
echo "Hola desde PHP";
?>

El navegador no recibe ese código PHP. El servidor primero lo ejecuta y después envía al navegador el resultado convertido en HTML.

El navegador recibiría algo parecido a esto:

Hola desde PHP

Por eso, si inspeccionamos la página desde el navegador, no veremos el código PHP original.


4. Proceso completo de una petición PHP

El funcionamiento básico sería este:

PasoQué ocurre
1El usuario escribe una dirección en el navegador
2El navegador envía una petición al servidor
3Apache o Nginx recibe la petición
4Si el archivo es PHP, el servidor se lo pasa al intérprete de PHP
5PHP ejecuta el código
6Si hace falta, PHP consulta la base de datos
7PHP genera una respuesta en HTML
8El servidor envía esa respuesta al navegador
9El navegador muestra la página al usuario

Visualmente:


5. Ejemplo sencillo

Imaginemos este archivo llamado saludo.php:

<?php
$nombre = "Antonio";

echo "<h1>Bienvenido, $nombre</h1>";
echo "<p>Esta página ha sido generada por PHP en el servidor.</p>";
?>

El servidor ejecuta el código PHP y genera HTML.

El navegador recibiría algo así:

<h1>Bienvenido, Antonio</h1>
<p>Esta página ha sido generada por PHP en el servidor.</p>

El navegador solo ve el resultado final, no la lógica interna.


6. Diferencia entre página estática y página dinámica

Una página web puede ser estática o dinámica.

Tipo de páginaCaracterísticasEjemplo
EstáticaSiempre muestra el mismo contenidoUna página HTML fija
DinámicaEl contenido puede cambiar según datos, usuarios o formulariosUna tienda online, un login, un blog

Página estática

<h1>Bienvenido a mi web</h1>
<p>Este contenido siempre es el mismo.</p>

Página dinámica con PHP

<?php
$hora = date("H:i");

echo "<h1>Bienvenido a mi web</h1>";
echo "<p>La hora actual del servidor es: $hora</p>";
?>

En este caso, el contenido cambia dependiendo del momento en el que se cargue la página.


7. PHP y la base de datos

Una de las grandes utilidades de PHP es que puede conectarse a una base de datos.

Por ejemplo, una aplicación web puede necesitar:

AcciónQué hace PHP
Iniciar sesiónComprueba usuario y contraseña
Mostrar productosConsulta los productos en la base de datos
Registrar un usuarioGuarda los datos en MySQL
Hacer una reservaInserta una reserva en la base de datos
Mostrar noticiasRecupera artículos almacenados

Ejemplo conceptual:


8. Ejemplo con formulario

Un caso muy típico en PHP es trabajar con formularios.

Archivo formulario.html:

<form action="procesar.php" method="post">
<label>Nombre:</label>
<input type="text" name="nombre">

<button type="submit">Enviar</button>
</form>

Archivo procesar.php:

<?php
$nombre = $_POST["nombre"];

echo "<h1>Hola, $nombre</h1>";
echo "<p>El formulario ha sido procesado en el servidor.</p>";
?>

El proceso sería:

PasoQué ocurre
1El usuario rellena el formulario
2Pulsa el botón enviar
3El navegador manda los datos al servidor
4PHP recibe los datos mediante $_POST
5PHP genera una respuesta personalizada
6El navegador muestra el resultado

9. ¿Por qué esto es importante?

Entender la arquitectura cliente-servidor nos ayuda a saber qué hace cada tecnología.

TecnologíaSe ejecuta enFunción principal
HTMLClienteEstructura
CSSClienteDiseño
JavaScriptClienteInteractividad en navegador
PHPServidorLógica de negocio
SQLServidor/base de datosConsultar y modificar datos

Un error común al empezar es pensar que PHP funciona igual que JavaScript. Pero no es así.

JavaScript normalmente se ejecuta en el navegador.

PHP se ejecuta en el servidor y genera una respuesta.


PHP no se ve en el navegador. PHP se ejecuta en el servidor y el navegador recibe el resultado, normalmente en forma de HTML.

Esta frase resume gran parte del funcionamiento de PHP dentro de una aplicación web.


11. Ejercicio propuesto

Crea un archivo llamado arquitectura.php con el siguiente código:

<?php
$titulo = "Arquitectura cliente-servidor";
$lenguaje = "PHP";
$servidor = $_SERVER["SERVER_SOFTWARE"];

echo "<h1>$titulo</h1>";
echo "<p>Esta página ha sido generada usando $lenguaje.</p>";
echo "<p>El código PHP se ha ejecutado en el servidor.</p>";
echo "<p>Servidor utilizado: $servidor</p>";
?>

Después responde:

PreguntaRespuesta
¿Dónde se ejecuta el código PHP?
¿Qué recibe finalmente el navegador?
¿Se puede ver el código PHP desde “Inspeccionar elemento”?
¿Qué diferencia hay entre HTML y PHP?
¿Qué papel cumple Apache o Nginx?

La arquitectura cliente-servidor es la base de las aplicaciones web.

El cliente solicita información mediante el navegador.

El servidor procesa la petición.

PHP se ejecuta en el servidor, puede consultar bases de datos y genera una respuesta que normalmente se envía al navegador como HTML.

Por eso PHP es una pieza fundamental en muchas aplicaciones web dinámicas, como blogs, tiendas online, paneles de administración, sistemas de reservas o plataformas educativas.