¿Qué es PHP? Definición y Características
PHP es un lenguaje interpretado de alto nivel, *embebido* en páginas HTML y ejecutado en el servidor. Se trata de un lenguaje de scripts de servidor; es decir, código que se incrusta en las páginas HTML.
Comunicación Cliente-Servidor Estándar (Sin Procesamiento en Servidor)
A continuación, se describe el flujo de comunicación cuando se solicita un archivo estático (sin PHP):
- Escribimos en la barra del navegador la dirección y el archivo a solicitar.
- El web browser (navegador) envía el mensaje a través de Internet al servidor, solicitando la página (archivo)
pagina1.html. - El web server (servidor web o servidor HTTP, que puede ser Apache, IIS, etc.), que es un programa que se ejecuta en el servidor, recibe el mensaje y lee el archivo solicitado desde el disco duro.
- El servidor web envía el archivo solicitado por el navegador tal cual está en el disco duro.
- El navegador muestra en pantalla el archivo que envió el servidor web.
El Flujo de Petición y Respuesta con PHP
Cuando se solicita un archivo que contiene código PHP, el proceso de comunicación incluye una fase de interpretación en el servidor:
- Tecleamos en la barra del navegador la dirección y el archivo a solicitar.
- El web browser (navegador) envía el mensaje a través de Internet al servidor solicitando la página (archivo)
pagina1.php. - El web server (servidor web, que puede ser Apache, IIS Internet Information Server, etc.), recibe el mensaje y, al ver que la extensión es «php», solicita al intérprete de PHP (que es otro programa que se ejecuta en el servidor web) que procese el archivo.
- El intérprete PHP lee desde el disco el archivo
pagina1.php. - El intérprete PHP ejecuta los comandos contenidos en el archivo y, eventualmente, se comunica con un gestor de base de datos (por ejemplo: MySQL, Oracle, SQL Server…).
- Luego de ejecutar el programa contenido en el archivo, el intérprete envía el resultado (generalmente HTML puro) al servidor web.
- El servidor web envía la página al cliente que la había solicitado.
- El navegador muestra en pantalla el archivo que envió el servidor web.
Componentes Clave en la Arquitectura Web
¿Qué es un Servidor Web?
Un Servidor Web se encarga de mantenerse a la espera de peticiones referidas a páginas o elementos de la web a través del protocolo HTTP o HTTPS, llevada a cabo por un cliente HTTP que solemos conocer como navegador. El navegador realiza una petición al servidor y este le responde con el contenido que el cliente solicita.
Los servidores web solo tienen la capacidad comentada: resolver peticiones de elementos web. Pero no se molestan en descifrar el código de estos elementos; esa tarea la dejan en manos del navegador web. La cuestión es que cuando necesitamos crear elementos más complejos, las páginas y otros elementos que almacena el servidor contendrán código que debe ser resuelto antes de entregarlo al cliente. Ahí es donde entra el servidor de aplicaciones.
¿Qué es un Servidor de Aplicaciones?
Un servidor de aplicaciones es el elemento (software) que es capaz de traducir las instrucciones y, además, comunicar con otros servidores (como por ejemplo los servidores de bases de datos) para extraer la información empresarial que se necesita para resolver la petición.
Los servidores de aplicaciones trabajan en conjunto con los servidores web para que el proceso se haga de forma transparente al usuario.
Arquitectura de Tres Capas (Three-Tier)
A la forma de trabajar de un servidor de aplicaciones, se le conoce normalmente como *arquitectura de tres capas*: Capa del Navegador, Capa del Servidor y Capa de los Servicios.
Las Tres Capas del Lado del Servidor
En el lado del servidor hay tres capas a tener en cuenta:
1. La Capa de Presentación
Realizada por el servidor web y cuyo objetivo es recibir las peticiones HTTP y devolver la respuesta adecuada en formato entendible por los navegadores.
2. La Capa Lógica
Es la capa que representa al servidor de aplicaciones. El servidor de aplicaciones es invocado por el servidor web cuando le llegan documentos escritos en un lenguaje que debe ser interpretado en el lado servidor, cuyo resultado se enviará al servidor web para que este lo envíe al cliente que hizo la petición.
3. La Capa de Datos
Es la que contiene la información empresarial que debe estar absolutamente protegida de los usuarios. En esta capa fundamentalmente se encuentra el sistema gestor de bases de datos (SGBD) de la empresa.
Los servidores de esta capa son invocados por los servidores de aplicaciones cuando requieren estos recursos y con la información que reciben pueden realizar su labor de manera correcta. Ejemplos de Servidores Web y/o de aplicaciones web comerciales incluyen Apache, IIS y Apache Tomcat.
Lenguajes de Programación Web: Cliente vs. Servidor
Existen diferentes lenguajes clasificados según dónde se ejecuta su código:
Lenguajes del Lado Cliente
- Javascript
- VBScript
- Applet
- Flash
- HTML
- CSS
Lenguajes del Lado Servidor
- CGI
- PHP
- Python
- C#
- Perl
- JSP
- ASP.net
