LAMP – Funcionamiento

En la publicación de LAMP Stack vimos los componentes de esta plataforma y las tareas generales de cada uno de ellos.

En esta publicación voy a redactar – de manera general – el funcionamiento del Stack al solicitar una página – de un sitio web – y una aplicación – que utiliza y que no utiliza bases de datos -.

Página

AMP - Apache

  1. Un cliente solicita una página «index.html» utilizando un navegador web.
  2. El servidor web busca el archivo «index.html» en el sistema de archivos.

    El servidor tiene configurada una carpeta – htdocs – en la cuál están los diferentes proyectos y/o archivos que se pueden consultar a través del servidor. Esta carpeta se le conoce como «DocumentRoot«.

    Además de esto, en el servidor web, cada proyecto tiene asociado el nombre de dominio – o una dirección IP -. Es aquí donde se buscan los archivos / documentos solicitados. A esta carpeta se le conoce como «vhost» – host virtual -. Cabe mencionar que cada host virtual tiene asignado un «DocumentRoot«.

  3. Una vez encontrado el archivo es enviado por el servidor web al cliente.
    Si no se encontró le muestra un mensaje indicando esto.

 

Aplicación

AMP - Apache PHP

  1. Un cliente solicita un documento «index.php» utilizando un navegador web.
  2. El servidor web busca el archivo «index.php» en el vhost.

    Una vez encontrado el archivo, en lugar de al cliente, el servidor web manda procesar este archivo al lenguaje de programación – PHP -.

    ¿Por qué se mandó procesar el archivo y no se envió al usuario?

    El servidor web tiene asociados distintos tipos de extensión de archivo con algún comportamiento que deben tener – acciones a realizar -.

    Una de estas asociaciones es que los archivos que tienen extensión php necesitan procesarse antes de ser enviados al cliente.

  3. PHP recibe la instrucción de que tiene que procesar un archivo y lo comienza a procesar.
  4. Una vez que PHP termina de procesar el archivo envía de vuelta el resultado del procesamiento al servidor web.
  5. El servidor web envía el resultado del procesamiento del archivo al cliente.

 

Aplicación / Base de Datos

AMP - Apache MySQL PHP

  1. Un cliente solicita un documento «index.php» utilizando un navegador web.
  2. El servidor web busca el archivo «index.php» en el vhost.
  3. PHP recibe la instrucción de que tiene que procesar un archivo y lo comienza a procesar.
  4. Si dentro del código existe una conexión a una base de datos y sentencias para realizar se realiza la conexión y se realizan las sentencias.
  5. Una vez que se procesaron las sentencias en SQL PHP recibe el resultado y continúa procesando el código restante.
  6. Una vez que PHP termina de procesar el archivo, se envía el resultado del procesamiento al servidor web.
  7. El servidor web envía el archivo procesado al cliente.