Proceso de Carga de una Página Web y Conceptos Fundamentales
Flujo Básico de Solicitud y Respuesta Web
El proceso fundamental para visualizar una página web implica la interacción entre el cliente (navegador) y el servidor:
- El ordenador solicita a un servidor web una página.
- El servidor busca esa página; cada una suele ser un fichero.
- Si el servidor la encuentra, la recupera.
- Se envía al navegador para que muestre su contenido.
Tipos de Páginas Web
Páginas Web Estáticas
Las páginas web estáticas se encuentran almacenadas en su forma definitiva, tal y como se crearon, y su contenido no varía. Para modificarlas se requiere alterar directamente el código fuente con HTML y CSS.
Páginas Web Dinámicas
Las páginas web dinámicas cambian de contenido en función de diversas variables. Existen dos tipos:
- Dinámicas en cliente: Incluyen código que se ejecuta en el navegador, como JavaScript.
- Dinámicas en servidor: El contenido que llega al navegador es estático, pero ha sido generado a partir de la ejecución de un código en el servidor, habitualmente en PHP.
Esquema de Ejecución de una Página Web Dinámica
El proceso para servir contenido dinámico es más complejo:
- El cliente solicita a un servidor web una página web.
- El servidor busca esa página web y la recupera.
- Si es necesario, el servidor web contacta con el módulo responsable de ejecutar el código y se lo envía.
- Puede ser necesario obtener información de algún almacén de datos, generalmente una base de datos.
- El servidor web envía el resultado de la ejecución, en formato HTML, al navegador, que lo procesa y muestra en pantalla.
Componentes de Aplicaciones Web en Servidor
Los componentes principales para ejecutar aplicaciones web en un servidor incluyen:
- Un servidor web.
- El módulo encargado de ejecutar el código.
- Una aplicación de base de datos.
- El lenguaje de programación.
Funciones Lógicas en el Desarrollo Web
Las responsabilidades funcionales se suelen dividir así:
- Presentación: Da formato a los datos para presentarlos al usuario.
- Lógica: Utiliza los datos para ejecutar un proceso y obtener un resultado.
- Persistencia: Mantiene los datos almacenados de forma organizada.
- Acceso: Obtiene e introduce datos en el espacio de almacenamiento.
Arquitectura de 3 Capas
Una aplicación de 3 capas se estructura de la siguiente manera:
- Capa cliente: Contiene todo lo relacionado con la interfaz de usuario.
- Capa intermedia: Alberga la funcionalidad principal de la aplicación.
- Capa de datos: Se encarga de almacenar y recuperar los datos de la base de datos.
Clasificación de Lenguajes de Programación Web
Los lenguajes de programación web se agrupan en 3 categorías principales:
Lenguajes de Guiones (Interpretados)
Son aquellos en los que los programas se ejecutan directamente a partir de su código fuente.
Lenguajes Compilados
Primero se compilan para pasarlos a lenguaje máquina y después son ejecutados.
Lenguajes Compilados a Código Intermedio
Son lenguajes en los que el código fuente original se traduce a un código intermedio. Este código intermedio también debe ser interpretado.
Ventajas e Inconvenientes de la Clasificación
- Los lenguajes de guiones tienen una gran portabilidad, pero el proceso de interpretación ofrece un peor rendimiento.
- Los lenguajes compilados son de mayor velocidad de ejecución, pero por su falta de portabilidad se integran bien en el servidor web.
- Los lenguajes compilados a código intermedio ofrecen un equilibrio entre las dos opciones anteriores. Su rendimiento es bueno y tienen una buena portabilidad.
PHP: Ejecución y Características
El código PHP suele ser procesado en un servidor web por un intérprete PHP implementado como un módulo. El intérprete estándar de PHP es un software libre publicado bajo Licencia PHP.
PHP ha sido ampliamente portado y puede ser desplegado en la mayoría de los servidores web en casi todos los sistemas operativos y plataformas, de forma gratuita.
Variables en PHP
Las variables comienzan con el símbolo de dólar ($). El nombre de las variables no puede empezar por un número, pero sí pueden comenzar con un guion bajo (_). PHP es sensible a mayúsculas y minúsculas (case sensitive).
El ámbito de una variable es el contexto dentro del que la variable está definida. Si la declaramos dentro de la función solo se puede utilizar en dicha función.
En PHP, para poder utilizar variables globales dentro de una función, pueden ser declaradas globales dentro de la función, utilizando la palabra clave global, o accediendo a ellas a través del array asociativo $GLOBALS.
Variables Globales Predefinidas en PHP
- $GLOBALS: Contiene todas las variables disponibles en el ámbito global.
- $_SERVER: Información del entorno del servidor y de ejecución.
- $_GET: Variables HTTP GET.
- $_POST: Variables POST de HTTP.
- $_FILES: Variables de subida de ficheros HTTP.
- $_REQUEST: Variables HTTP Request.
- $_SESSION: Variables de sesión.
- $_ENV: Variables de entorno.
- $_COOKIE: Cookies HTTP.
Además, también tenemos predefinidas las variables relativas a argumentos:
- $argc: El número de argumentos pasados a un script.
- $argv: Array de argumentos pasados a un script.
Se puede forzar la conversión de una variable a un cierto tipo, usando la función settype().
Tipos de Datos en PHP
PHP admite diez tipos primitivos, clasificados en:
4 Tipos Escalares
boolean, integer, float (también double), string.
4 Tipos Compuestos
array, object, callable, iterable.
2 Tipos Especiales
resource, NULL.
Operadores en PHP
Un operador es algo que toma uno o más valores y produce otro valor. Los operadores se pueden agrupar de acuerdo con el número de valores que toman:
- Los operadores unarios toman sólo un valor. Ej:
!,++. - Los operadores binarios toman dos valores. Ej:
+,-. - Hay sólo un operador ternario:
?:, el operador condicional.
Bloques de Operadores Comunes
Los 3 bloques más utilizados son:
- Operadores aritméticos:
+,-,/,* - Operadores de comparación:
==,> - Operadores lógicos:
and,or
Funciones de Verificación y Conversión de Tipos
- La función
isset()nos indica si una variable existe, y la funciónunset()nos permite eliminarla de memoria. - Las funciones como
is_integer(),is_string(), etc., devuelven true si el tipo de la variable pasada como argumento coincide con el tipo de la función usada. - Las funciones como
intval(),doubleval(),strval(), etc., convierten el tipo de la variable pasada como argumento al tipo indicado en la función empleada.
Constantes en PHP
Una constante es un identificador para un valor simple. El valor no puede variar durante la ejecución del script y son de ámbito global. Se definen empleando el método define().
Estructuras de Control
Elección Simple
Se utiliza la estructura if-else o el operador ternario ?:.
Bucles
Se utilizan los bucles while y do-while.
También se emplean for y foreach.
Estructuras de Datos
Se manejan array y String.
