fundamentos-de-las-aplicaciones-web

Fundamentos de las aplicaciones web

Las aplicaciones web forman parte de nuestro día a día aunque muchas veces no nos paremos a pensarlo. Cada vez que entramos en un blog, usamos un campus virtual, consultamos el correo desde el navegador, editamos un documento online o publicamos una entrada en WordPress, estamos utilizando una aplicación web.

Y aquí viene lo interesante: una aplicación web no es solo “una página que se abre en Internet”. Detrás hay servidores, dominios, protocolos, bases de datos, certificados de seguridad, usuarios, permisos, copias de seguridad y un montón de piezas que trabajan juntas para que todo parezca sencillo desde fuera.

En mi caso, esto lo he entendido especialmente bien gestionando dos webs en WordPress alojadas en Raiola Network: julianlopezjimenez.com, donde publicaré este artículo, y miodiseagriega.com. Cuando trabajas con webs reales, te das cuenta enseguida de que no basta con escribir contenido y darle a publicar. Hay que entender, aunque sea a nivel básico, qué ocurre por debajo.

Por eso en este artículo quiero explicarte los fundamentos de las aplicaciones web de forma clara, práctica y sin complicarlo más de la cuenta.

Qué es realmente una aplicación web

Una aplicación web es un sistema al que accedemos normalmente desde un navegador y que permite hacer algo más que leer una página. Puede servir para publicar contenido, gestionar usuarios, subir archivos, enviar formularios, consultar datos, editar documentos o administrar cursos online.

Un blog en WordPress, una tienda online, Moodle, Nextcloud, Gmail, Google Docs o un campus virtual son ejemplos de aplicaciones web. Todas tienen algo en común: el usuario interactúa desde un cliente, normalmente el navegador, y la aplicación responde desde uno o varios servidores.

Diferencia entre Internet y la Web

Una confusión habitual es pensar que Internet y la Web son lo mismo. No lo son.

Internet es la infraestructura: la red mundial que permite que millones de dispositivos se comuniquen entre sí. La Web, en cambio, es uno de los servicios que funcionan sobre Internet. Igual que también funcionan el correo electrónico, la mensajería, las videollamadas o el acceso remoto.

Dicho de forma sencilla: Internet es la carretera; la Web es uno de los tipos de vehículos que circulan por ella.

Esta diferencia es importante porque cuando una web falla, el problema puede estar en muchas capas distintas. Puede fallar el dominio, el DNS, el servidor, la aplicación, el navegador, el certificado HTTPS o incluso la conexión del usuario.

Cuando tienes una web propia, esto deja de ser teoría. Si un día tu WordPress no carga, no siempre significa que “WordPress está roto”. Puede ser un problema del hosting, del dominio, de la base de datos, de un plugin, de una actualización o de la caché.

Cliente, servidor y navegador: quién hace qué

En una aplicación web intervienen dos grandes protagonistas: el cliente y el servidor.

El cliente es quien inicia la petición. Normalmente es el navegador: Chrome, Firefox, Edge, Safari o cualquier otro. Pero también puede ser una app móvil, un robot de Google, una herramienta de línea de comandos o un script.

El servidor es el programa o sistema que recibe esa petición y responde. Puede devolver una página HTML, una imagen, un archivo CSS, datos en formato JSON o una respuesta generada por una aplicación.

Por ejemplo, cuando alguien entra en julianlopezjimenez.com, su navegador pide una página. El servidor donde está alojada la web procesa la solicitud, WordPress genera el contenido correspondiente y el navegador lo muestra de forma visual.

Desde fuera parece inmediato. Desde dentro, hay varias piezas colaborando.

Por qué una web no es solo una página HTML

Una web sencilla puede ser un archivo HTML con algo de CSS. Pero una aplicación web real suele ir mucho más allá.

En una instalación WordPress, por ejemplo, hay:

  • Un dominio.
  • Un servidor web.
  • Una base de datos.
  • Archivos del propio WordPress.
  • Temas y plugins.
  • Usuarios y contraseñas.
  • Certificado HTTPS.
  • Panel de administración.
  • Copias de seguridad.
  • Sistema de actualizaciones.

Por eso conviene cambiar la mentalidad: una aplicación web no es solo lo que vemos en pantalla. Lo visible es la parte final de un proceso bastante más amplio.

Cómo funciona una aplicación web por dentro

Para entender los fundamentos de las aplicaciones web, merece la pena seguir el recorrido básico de una petición.

Imagina que escribes una dirección en el navegador. Por ejemplo, entras en una web WordPress para leer un artículo. Lo que parece un gesto sencillo activa varios pasos técnicos.

Primero, el navegador necesita saber dónde está esa web. Después, se conecta con el servidor. Luego envía una petición. El servidor procesa esa petición y devuelve una respuesta. Finalmente, el navegador interpreta esa respuesta y la transforma en una página visible.

El papel del DNS, la URL y el servidor

El DNS es como una agenda de direcciones. Los humanos recordamos nombres como julianlopezjimenez.com, pero las máquinas trabajan con direcciones IP. El DNS traduce el nombre del dominio a la dirección del servidor correspondiente.

La URL es la dirección completa de un recurso. No solo incluye el dominio, sino también el protocolo y la ruta. Por ejemplo:

https://julianlopezjimenez.com/fundamentos-aplicaciones-web

Ahí podemos ver varias cosas:

  • https: el protocolo.
  • julianlopezjimenez.com: el dominio.
  • /fundamentos-aplicaciones-web: la ruta del recurso.

El servidor recibe la petición y decide qué devolver. En una web WordPress, esa decisión no suele consistir simplemente en “buscar un archivo”. WordPress consulta la base de datos, carga el tema, aplica plugins, construye la página y entrega el resultado al navegador.

HTTP y HTTPS explicado sin complicarlo

HTTP es el protocolo que permite el intercambio de peticiones y respuestas entre cliente y servidor. Cuando el navegador pide una página, lo hace usando HTTP o HTTPS.

Los métodos HTTP indican qué tipo de acción se quiere realizar. Algunos de los más importantes son:

  • GET: recuperar información.
  • POST: enviar datos.
  • PUT: actualizar o reemplazar información.
  • DELETE: solicitar una eliminación.
  • HEAD: pedir cabeceras sin cuerpo de respuesta.

También existen códigos de estado que indican qué ha pasado con la petición. Algunos de los más conocidos son:

  • 200 OK: todo ha ido bien.
  • 301/302: redirección.
  • 400 Bad Request: petición incorrecta.
  • 401 Unauthorized: falta autenticación.
  • 403 Forbidden: no tienes permiso.
  • 404 Not Found: recurso no encontrado.
  • 500 Internal Server Error: error del servidor.

Seguro que alguna vez has visto un error 404. No es magia negra: simplemente significa que el recurso solicitado no se ha encontrado.

HTTPS, por su parte, es HTTP protegido mediante cifrado. Sirve para que la comunicación entre el navegador y el servidor viaje de forma segura. Si hay formularios, contraseñas, datos personales o paneles de administración, HTTPS no es un lujo: es imprescindible.

En mis webs con WordPress, una de las primeras cosas que reviso es que el certificado HTTPS esté activo y que no haya contenido mixto. Una web puede tener certificado, pero si carga imágenes, scripts o recursos por HTTP, el navegador puede marcar advertencias o bloquear elementos.

Cookies, sesiones y por qué HTTP no recuerda nada

HTTP se considera un protocolo sin estado. Esto significa que cada petición se interpreta por separado. El servidor no “recuerda” automáticamente quién eres entre una página y otra.

Pero las aplicaciones web necesitan recordar ciertas cosas. Por ejemplo:

  • Que has iniciado sesión.
  • Qué productos tienes en el carrito.
  • Qué preferencias has seleccionado.
  • Qué usuario está accediendo al panel.
  • Qué permisos tiene tu cuenta.

Para conseguirlo se usan mecanismos como cookies, sesiones, tokens o almacenamiento adicional.

Una cookie puede guardar información que ayuda al servidor a reconocer que varias peticiones pertenecen al mismo usuario o a la misma sesión. Por eso puedes iniciar sesión en WordPress, ir de una sección a otra del panel y seguir identificado.

Sin cookies o sesiones, cada clic sería como empezar desde cero.

Arquitectura básica de las aplicaciones web

La arquitectura web más clásica es la de cliente-servidor. El cliente pide y el servidor responde. Esta idea parece simple, pero es la base de casi todo lo que hacemos en la Web.

A partir de ahí, las aplicaciones modernas pueden complicarse bastante. Puede haber servidores intermedios, proxies, balanceadores, APIs, bases de datos, sistemas de caché, servicios externos y capas de seguridad.

Pero para entender los fundamentos, lo importante es quedarse con la lógica principal: el navegador no trabaja solo. Lo que ves en pantalla es el resultado de una conversación constante entre cliente y servidor.

Modelo cliente-servidor

En el modelo cliente-servidor, el navegador envía una solicitud y el servidor devuelve una respuesta. Esa respuesta puede ser una página completa, un fragmento de datos, un archivo, una redirección o un mensaje de error.

En una web WordPress, cuando alguien visita un artículo, el servidor no entrega siempre un archivo fijo. WordPress construye la página usando la información almacenada en la base de datos: título, contenido, autor, fecha, categorías, etiquetas, comentarios, ajustes del tema y plugins activos.

Por eso dos webs WordPress pueden funcionar con la misma base técnica, pero verse y comportarse de formas completamente distintas.

HTML, CSS y JavaScript: estructura, diseño y comportamiento

Para que una página funcione en el navegador intervienen tres tecnologías básicas:

HTML aporta la estructura y el significado del contenido. Define titulares, párrafos, enlaces, imágenes, listas, tablas, formularios y secciones.

CSS se encarga de la presentación. Controla colores, tamaños, márgenes, tipografías, columnas, diseño responsive y estilos visuales.

JavaScript añade comportamiento. Permite menús desplegables, formularios dinámicos, validaciones, peticiones al servidor sin recargar la página y muchas interacciones modernas.

Una forma sencilla de recordarlo es esta:

  • Si el contenido está mal organizado, probablemente el problema esté en el HTML.
  • Si la página se ve mal, probablemente haya que mirar el CSS.
  • Si algo no responde, no se despliega o no se actualiza, probablemente haya JavaScript de por medio.

En WordPress esto se ve muy claro. El tema controla gran parte del HTML y el CSS. Los plugins pueden añadir JavaScript. Y cualquier cambio aparentemente pequeño puede afectar al diseño, al rendimiento o a la experiencia de usuario.

APIs, REST y comunicación entre aplicaciones

Una API es una interfaz que permite que dos componentes de software se comuniquen. En el contexto web, una API suele exponer rutas o endpoints para consultar datos, enviar información o ejecutar acciones.

Por ejemplo, una aplicación puede pedir datos de usuarios, entradas, productos, reservas o archivos mediante una API.

REST es un estilo arquitectónico orientado a recursos. La idea básica es que trabajamos con recursos identificados por rutas y usamos métodos HTTP para actuar sobre ellos.

Un ejemplo sencillo:

  • GET /articulos: listar artículos.
  • GET /articulos/15: ver el artículo 15.
  • POST /articulos: crear un nuevo artículo.
  • PUT /articulos/15: actualizar el artículo 15.
  • DELETE /articulos/15: eliminar el artículo 15.

La regla práctica es bastante útil: el verbo suele ir en el método HTTP y el sustantivo en la ruta. Por eso tiene más sentido /usuarios que /hacerAltaUsuario.

En el mundo real muchas APIs se llaman “RESTful”, aunque no siempre cumplen todas las restricciones de REST de forma estricta. Aun así, entender esta lógica ayuda muchísimo para comprender cómo se comunican las aplicaciones modernas.

Servidores y tecnologías habituales en aplicaciones web

Una aplicación web necesita una base sobre la que funcionar. Ahí entran los servidores web, lenguajes de programación, bases de datos y aplicaciones concretas.

En muchos entornos se habla de pilas como LAMP o LEMP. Aunque el nombre cambie, la idea suele ser parecida: servidor web, lenguaje o runtime, base de datos y aplicación.

Por ejemplo, una instalación WordPress suele necesitar un servidor web, PHP y una base de datos MySQL o MariaDB.

Apache y NGINX como base de muchas webs

Apache y NGINX son dos tecnologías muy habituales en servidores web.

Apache es un servidor HTTP muy utilizado, flexible y extensible. NGINX también puede servir contenido web, actuar como proxy inverso, gestionar caché, balancear carga y conectarse con aplicaciones.

Lo importante es no confundir infraestructura con aplicación.

Apache o NGINX son parte de la infraestructura. WordPress, Moodle o Nextcloud son aplicaciones que se apoyan sobre esa infraestructura.

Dicho de forma sencilla: Apache o NGINX son como el local y las instalaciones; WordPress sería el negocio que funciona dentro.

WordPress como ejemplo de CMS

WordPress es un CMS, es decir, un sistema de gestión de contenidos. Sirve para crear, editar, publicar y administrar contenido desde un navegador.

Y aquí hablo desde la práctica: cuando gestionas dos webs WordPress, entiendes perfectamente por qué un CMS es una aplicación web y no simplemente “un editor de páginas”. En mi caso, uso WordPress para publicar contenido, administrar entradas, gestionar plugins, revisar actualizaciones, cuidar URLs, mantener el diseño y asegurar que todo funciona correctamente.

WordPress necesita varias piezas:

  • Archivos de la instalación.
  • Base de datos.
  • Tema.
  • Plugins.
  • Usuarios y roles.
  • Servidor compatible.
  • Certificado HTTPS.
  • Sistema de copias de seguridad.

Además, WordPress permite trabajar con distintos roles: administrador, editor, autor, colaborador o suscriptor. Esto es importante porque no todo el mundo debe tener los mismos permisos.

Una persona puede escribir artículos sin necesidad de poder instalar plugins o tocar ajustes críticos. Este detalle, que parece pequeño, es una de las bases de la seguridad en aplicaciones web.

Moodle, Nextcloud y ONLYOFFICE: otros tipos de aplicaciones web

No todas las aplicaciones web sirven para lo mismo.

Un CMS como WordPress se centra en publicar y gestionar contenidos.

Un LMS como Moodle está pensado para aprendizaje online: cursos, tareas, foros, alumnos, profesores, calificaciones y seguimiento.

Un servicio como Nextcloud se orienta a almacenar, compartir y gestionar archivos y carpetas con usuarios, grupos y permisos.

Una suite como ONLYOFFICE Docs permite crear, editar y colaborar en documentos, hojas de cálculo y presentaciones desde el navegador.

La clave está en elegir la herramienta según el objetivo. Si quieres publicar noticias, artículos o una web corporativa, WordPress encaja muy bien. Si quieres gestionar cursos y tareas, Moodle tiene más sentido. Si necesitas compartir documentos con permisos, Nextcloud puede ser mejor opción. Si necesitas coeditar documentos online, una suite ofimática web es lo adecuado.

No hay una única herramienta correcta. Hay herramientas adecuadas para problemas concretos.

Seguridad básica en aplicaciones web

La seguridad no debería dejarse para el final. En una aplicación web real, la seguridad forma parte de la instalación, del mantenimiento y del uso diario.

Esto lo ves muy rápido cuando administras una web WordPress. Al principio puedes pensar solo en diseño, contenidos y plugins. Pero tarde o temprano aparecen las preguntas importantes: ¿tengo copias de seguridad?, ¿está todo actualizado?, ¿quién tiene permisos de administrador?, ¿el certificado HTTPS funciona bien?, ¿qué pasa si una actualización rompe algo?

Autenticación y autorización no son lo mismo

Una de las primeras diferencias que hay que tener clara es la de autenticación y autorización.

La autenticación responde a la pregunta: “¿quién eres?”.

La autorización responde a: “¿qué puedes hacer aquí?”.

Iniciar sesión con usuario y contraseña es autenticación. Tener permiso para publicar una entrada, instalar un plugin o borrar un usuario es autorización.

Confundir ambas cosas puede provocar problemas serios. Un usuario puede estar correctamente identificado y, aun así, no debería tener acceso a ciertas funciones.

En WordPress esto se entiende muy bien con los roles. Un administrador puede tocar prácticamente todo. Un editor puede gestionar contenido. Un autor puede publicar sus propios artículos. Un suscriptor apenas tiene permisos. Esa separación existe por una razón: reducir riesgos.

HTTPS, certificados y protección de datos

Toda aplicación web con inicio de sesión, formularios, datos personales o panel de administración debería funcionar bajo HTTPS.

HTTPS cifra la comunicación entre navegador y servidor. Esto ayuda a proteger contraseñas, datos de formularios y sesiones de usuario.

Hoy en día, una web sin HTTPS transmite mala imagen, puede generar avisos en el navegador y no debería usarse para nada sensible.

En mis webs, el HTTPS no lo veo como un extra técnico, sino como parte de la base mínima. Igual que no publicaría una web sin revisar el contenido, tampoco tiene sentido mantener una aplicación web real sin certificado activo.

Roles, permisos y mínimo privilegio

El principio de mínimo privilegio consiste en dar a cada usuario solo los permisos que necesita.

No todo el mundo necesita ser administrador. De hecho, cuanto menos se use una cuenta administradora, mejor.

Una buena práctica es tener una cuenta específica para administración y otra para trabajo cotidiano. Así se reduce el riesgo de cometer errores o de que una cuenta demasiado poderosa quede expuesta.

Esto aplica a WordPress, Moodle, Nextcloud y prácticamente cualquier aplicación web con usuarios y permisos.

En un WordPress, por ejemplo, si alguien solo va a escribir artículos, no necesita permiso para instalar plugins. Si alguien solo va a revisar contenido, no necesita acceso a ajustes globales. Y si una cuenta ya no se usa, debería desactivarse o eliminarse.

Actualizaciones, contraseñas y copias de seguridad

Las aplicaciones web evolucionan constantemente. Aparecen nuevas funciones, mejoras, correcciones y parches de seguridad. Por eso mantener actualizado el sistema es fundamental.

Pero actualizar sin copia previa es una mala idea.

En WordPress, antes de tocar temas, plugins o versiones importantes, conviene tener una copia de seguridad reciente. Y no solo de los archivos: también de la base de datos.

Una instalación WordPress completa no vive solo en una carpeta. El contenido, usuarios, opciones, entradas y muchas configuraciones están en la base de datos. Por eso una copia incompleta puede servir de poco.

La frase que mejor resume esto es sencilla: si no puedes restaurar, tu copia no está realmente comprobada.

Checklist práctico antes de publicar o mantener una aplicación web

Antes de dar por buena una aplicación web, conviene revisar una lista mínima. No hace falta ser administrador de sistemas experto para aplicar sentido común técnico.

Comprobar HTTPS

La web debe cargar con HTTPS y sin errores de certificado. También conviene comprobar que no haya contenido mixto, es decir, recursos cargando por HTTP dentro de una página HTTPS.

Revisar usuarios y permisos

Hay que revisar quién tiene acceso y qué permisos tiene cada cuenta. Las cuentas de administrador deben ser las mínimas posibles.

Actualizar la plataforma

El CMS, los plugins, el tema, el servidor, el lenguaje y las extensiones deben mantenerse actualizados siempre que sea posible.

Hacer copia de archivos y base de datos

Una buena copia debe incluir los archivos y la base de datos. En WordPress, ambas partes son importantes.

Probar que la restauración funciona

No basta con tener una copia guardada. Hay que saber restaurarla. Una copia que nunca se ha probado puede fallar justo cuando más falta hace.

Documentar lo importante

Conviene tener documentado:

  • Dominio.
  • Hosting.
  • Usuarios principales.
  • URLs de acceso.
  • Copias de seguridad.
  • Plugins críticos.
  • Tareas programadas.
  • Pasos de recuperación.

Esto puede parecer exagerado hasta que algo falla. Cuando falla, tener documentación ahorra tiempo, nervios y errores.

Conclusión: entender los fundamentos web te hace mejor usuario, creador y administrador

Entender los fundamentos de las aplicaciones web no significa convertirse en programador experto ni administrador de sistemas de la noche a la mañana. Significa comprender las piezas básicas que hacen posible que una web funcione.

Saber qué es un cliente, qué hace un servidor, para qué sirve DNS, cómo funciona HTTP, por qué HTTPS es imprescindible, qué papel tienen las cookies, cómo se estructura una aplicación web y por qué la seguridad no es opcional te permite tomar mejores decisiones.

En mi caso, trabajar con WordPress en proyectos reales me ha ayudado a ver estos conceptos de forma mucho más práctica. Una cosa es estudiar qué es un CMS, y otra muy distinta es mantener una web viva, publicar contenido, actualizar plugins, revisar copias, cuidar el HTTPS y entender que cada elemento forma parte de un sistema.

Las aplicaciones web están por todas partes. Cuanto mejor entiendas sus fundamentos, mejor podrás crearlas, mantenerlas, protegerlas y aprovecharlas.

Preguntas frecuentes sobre fundamentos de las aplicaciones web

¿WordPress es una aplicación web?

Sí. WordPress es una aplicación web y, más concretamente, un CMS o sistema de gestión de contenidos. Permite crear, editar, publicar y administrar contenido desde un navegador.

¿Qué diferencia hay entre una web estática y una aplicación web?

Una web estática suele mostrar archivos fijos, como HTML y CSS. Una aplicación web permite interacción, usuarios, formularios, sesiones, bases de datos, administración y contenido dinámico.

¿Qué diferencia hay entre Internet y la Web?

Internet es la infraestructura de red. La Web es uno de los servicios que funcionan sobre Internet. También existen otros servicios, como el correo electrónico, la mensajería o el acceso remoto.

¿Qué es más importante: el servidor, el CMS o la seguridad?

Los tres son importantes. El servidor aporta la base técnica, el CMS permite gestionar la aplicación y la seguridad protege el sistema. Una aplicación web seria necesita que las tres partes estén bien cuidadas.

¿Por qué es tan importante HTTPS?

Porque cifra la comunicación entre el navegador y el servidor. Es fundamental cuando hay inicios de sesión, formularios, datos personales o cualquier operación sensible.

¿Qué debería aprender primero alguien que empieza con aplicaciones web?

Lo primero sería entender la relación cliente-servidor, la diferencia entre Internet y la Web, el funcionamiento básico de HTTP/HTTPS, el papel del DNS y la importancia de la seguridad básica.

¿Qué dos partes hay que copiar en una instalación WordPress?

Los archivos y la base de datos. Los archivos contienen WordPress, temas, plugins e imágenes. La base de datos guarda entradas, páginas, usuarios, ajustes y gran parte del contenido.

¿Qué es una API en una aplicación web?

Una API es una forma de comunicación entre componentes de software. Permite pedir datos, enviar información o ejecutar acciones mediante endpoints o rutas definidas.

julian lopez jimenez

Hola, encantado de conocerte.

Regístrate para recibir las últimas entradas, cada domingo.

¡No hago spam!