Implantación De Aplicaciones Web En Entornos Internet, Intranet Y Extranet. Mf0493. - Beatriz Coronado García - E-Book

Implantación De Aplicaciones Web En Entornos Internet, Intranet Y Extranet. Mf0493. E-Book

Beatriz Coronado García

0,0

Beschreibung

Puede solicitar gratuitamente las soluciones a todas las actividades y al examen final en el email [email protected] Capacidades que se adquieren con este Manual: - Establecer los procesos de instalación y distribución de la aplicación en distintos ambitos de implantación. - Elaborar y mantener la documentación aplicación web utilizando herramientas de generación de documentación y controlando las versiones. - Seleccionar y emplear métodos y juegos de pruebas para verificar las funcionalidades y las especificaciones de rendimiento de la aplicación web.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 233

Veröffentlichungsjahr: 2025

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.


Ähnliche


Implantación de aplicaciones web en entornos internet, intranet y extranet. MF0493.

Autora: Beatriz Coronado García.

© EDITORIAL TUTOR FORMACIÓN

C/ San Millán, 7, bajo 10

26004 Logroño (La Rioja)

Tlf. 610687276

Email: [email protected]

Web: https://tutorformacion.es   o  https://editorial.tutorformacion.es

Edición: octubre 2024

ISBN: 979-13-87566-02-9

Depósito legal: LR 1448-2024

Reservados todos los derechos de publicación en cualquier idioma.

Según el código penal vigente ninguna parte de este o cualquier otro libro puede ser reproducida, grabada en alguno de los sistemas de almacenamiento existentes o transmitida por cualquier procedimiento, ya sea electrónico, mecánico, reprográfico, magnético o cualquier otro, sin autorización previa y por escrito de D. Miguel Ángel Ladrón Jiménez; su contenido está protegido por la ley vigente que establece penas de prisión y/o multas a quienes intencionadamente reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o científica.

Foto de portada diseñada por FreePik.

Contenido

Introducción

Tecnologías y conceptos de Internet

1.Breve historia y origen de Internet.

2.Principales servicios ofrecidos por Internet.

2.1.World Wide Web.

2.2.Correo electrónico.

2.3.Transferencia de ficheros (ftp).

2.4.Otros servicios.

3.La tecnología de Internet.

3.1.Arquitectura TCP/IP. Comparación con OSI.

3.2.Protocolos TCP y UDP.

3.3.Protocolos del correo electrónico: SMTP, IMAP y POP3.

3.4.Protocolos de la Web: HTTP y HTTPS.

4.Redes TCP/IP.

4.1.Protocolo IP.

4.2.El direccionamiento IP. Evolución. Situación actual.

4.3.Dominios. Jerarquía de dominios.

4.4.Servicios de identificación de dominios: DNS.

4.5.Ámbitos: Intranet, Internet y Extranet. Consideraciones de seguridad.

4.6.Cortafuegos.

5.Prueba de autoevaluación.

La World Wide Web

1.Breve historia de la World Wide Web.

2.Arquitectura general de la Web.

2.1.Principios para el diseño de sistemas web

2.2.Componentes básicos de un sistema web.

2.3.División en capas.

3.El cliente web.

3.1.Hardware básico. Dispositivos fijos y móviles.

3.2.Sistemas operativos de uso común e Internet.

3.3.Navegadores. Características y comparativa.

3.4.Funcionalidades avanzadas: extensiones, aplicaciones específicas, etc.

4.Servidores web.

4.1.Servidores web de uso común.

4.2.Características básicas de un servidor web.

4.3.Configuración de servidores web.

4.4.Seguridad en servidores web.

4.5.Funcionalidades avanzadas: extensiones, servidores virtuales, etc.

5.Servidores de aplicaciones.

5.1.Concepto de servidor de aplicaciones.

5.2.Características de los servidores de aplicaciones

5.3.Comparativa de servidores de aplicaciones de uso común

5.4.Configuración de un servidor de aplicaciones.

5.5.Seguridad en servidores de aplicaciones.

5.6.Funcionalidades avanzadas: conceptos de escalabilidad, balanceo de carga, alta disponibilidad, etc.

6.Servidores de bases de datos.

6.1.Servidores de bases de datos para Internet de uso común.

6.2.Características básicas de un servidor de bases de datos.

6.3.Funcionalidades avanzadas: conceptos de escalabilidad, alta disponibilidad, etc.

7.Servidores complementarios en una arquitectura web.

7.1.Servidores de correo. Características.

7.2.Servidores de direccionamiento (DNS). Características.

7.3.Proxies.

7.4.Servidores de directorio. Características de LDAP.

7.5.Servidores de mensajería.

7.6.Servidores de antivirus, filtrado de contenidos, etc.

7.7.Otros servidores complementarios.

8.Infraestructura hardware y software para servidores de Internet.

8.1.Servicios en la nube (Cloud).

8.2.Tipos de servicios: infraestructura como servicio, plataforma como servicio y aplicación como servicio.

8.3.Ventajas e inconvenientes de los servicios de infraestructura en la nube.

8.4.Comparativa de los servicios de infraestructura en la nube de uso común.

9.Prueba de autoevaluación.

Aplicaciones web

1.Evolución y tipos de aplicaciones informáticas.

1.1.Aplicaciones de terminal. Servidores de terminales virtuales.

1.2.Aplicaciones de escritorio.

1.3.Aplicaciones cliente/servidor.

1.4.Aplicaciones web.

1.5.Ventajas e inconvenientes de los tipos de aplicaciones. Comparativa.

2.Paradigmas de las aplicaciones web.

2.1.Aplicaciones web en entorno cliente.

2.2.Aplicaciones web en entorno servidor.

2.3.Aplicaciones de página única (SPA).

2.4.Aplicaciones web basadas en comunicaciones síncronas.

2.5.Aplicaciones web basadas en comunicaciones asíncronas.

3.Tecnologías de desarrollo de aplicaciones.

3.1.Características por tipo de aplicación.

3.2.Comparativa según el tipo de aplicación.

4.Tecnologías específicas para el desarrollo web.

5.Portales web y otros componentes.

5.1.Portales de Internet. Características.

5.2.Gestores de contenidos: servidores de portales y documentales.

5.3.Servidores de contenidos multidispositivo.

5.4.Componentes básicos en portales web. Portlets y otros componentes de uso común.

5.5.Características y comparativa de los portales web de uso común.

6.Prueba de autoevaluación.

Desarrollo y despliegue de aplicaciones web

7.La capa cliente.

8.La capa servidor.

9.El patrón modelo-vista-controlador (MVC).

10.Herramientas de implantación web de uso común.

10.1.Características.

10.2.Comparativa.

10.3.Acceso remoto a servidores mediante terminal.

10.4.Acceso remoto a servidores mediante escritorio.

10.5.Herramientas de transferencias de ficheros mediante el protocolo FTP.

11.Entornos de trabajo.

11.1.Entorno de desarrollo.

11.2.Entorno de pruebas.

11.3.Entorno de pre-producción o pre-explotación.

11.4.Entorno de producción o explotación.

12.Estructura de las aplicaciones aplicación web.

12.1.Programas.

12.2.Programas en lenguajes de script para su ejecución en el lado cliente.

12.3.Programas en lenguajes para su ejecución en el lado servidor.

12.4.Documentos HTML.

12.5.Hojas de estilos. Ficheros de configuración.

12.6.Ficheros de configuración.

12.7.Recursos multimedia.

12.8.Documentos.

12.9.Bibliotecas de componentes (librerías).

12.10.Otros archivos

13.Seguridad en una aplicación web.

13.1.Niveles de seguridad. Estándares.

13.2.Conceptos y técnicas de identificación, autenticación y autorización o control de acceso.

13.3.Identificación y autenticación avanzada. Certificados digitales.

13.4.Integración de control de acceso mediante sistemas de validación de terceros.

13.5.Concepto de sesión. Conservación de sesiones.

13.6.Sistemas de uso común para la conservación de las sesiones en aplicaciones web. Single Sign-on y Single Sign-out.

14.Despliegue de aplicaciones web.

14.1.Definición de despliegue.

14.2.Fases del proceso de despliegue.

15.Prueba de autoevaluación.

Verificación de aplicaciones web

1.Características de un proceso de pruebas.

2.Tipos de pruebas.

2.1.Funcionales.

2.2.Estructurales.

2.3.De integración con sistemas externos.

2.4.Usabilidad y accesibilidad.

2.5.De detección de errores. Pruebas de caja negra.

2.6.De seguridad referente a la gestión de datos sensibles.

2.7.De seguridad referente al acceso a la aplicación y a los datos de la misma.

2.8.De seguridad frente a ataques externos. Evaluación de la protección frente a los ataques más comunes.

2.9.De rendimiento. Pruebas de carga o estrés. Estadísticas.

2.10.De integridad de datos.

3.Diseño y planificación de pruebas. Estrategias de uso común.

4.Documentación de pruebas.

5.Automatización de pruebas. Herramientas.

6.Prueba de autoevaluación-

Control de versiones

1.Definición.

2.Características generales.

3.Tipos de control de versiones.

3.1.Centralizados.

3.2.Distribuidos.

4.Mecanismos de control de versiones.

4.1.Repositorios. Gestión y administración.

4.2.Publicación de cambios («check-in» o «commit»). Operaciones atómicas.

4.3.Tipos de desprotección, despliegue o «check-out»: exclusivos y colaborativos.

4.4.Ramificaciones («branching»).

4.5.Fusiones («merging»).

4.6.Etiquetado («tagging»).

4.7.Líneas de base («baseline»).

4.8.Actualizaciones.

4.9.Congelaciones.

4.10.Gestión de conflictos.

5.Buenas prácticas en control de versiones.

6.Herramientas de control de versiones de uso común.

6.1.Repositorios gestionados desde la organización.

6.2.Repositorios gestionados por terceros: repositorios en la nube.

6.3.Características.

6.4.Comparativa.

7.Integración del control de versiones en herramientas de uso común.

8.Prueba de autoevaluación.

Documentación de aplicaciones web

1.Características generales de la documentación. Importancia en el ciclo de vida del software.

2.Organización y estructura básica de documentos.

3.Gestión de versiones de documentos.

4.Tipos de documentación.

4.1.De requisitos.

4.2.Documentación de análisis y diseño.

4.3.De arquitectura.

4.4.Documentación técnica relacionada con el software y los datos.

4.5.Documentación técnica relacionada con la instalación, mantenimiento y administración de la aplicación.

4.6.De pruebas.

4.7.De seguridad.

4.8.De usuario: manuales de usuario, ayudas de la aplicación.

4.9.Comercial.

5.Formatos de documentación.

5.1.Documentos.

5.2.Documentación en aplicaciones. Formatos de ayuda.

5.3.Documentación en línea. Wikis.

5.4.Videotutoriales.

6.Estándares de documentación.

7.Herramientas de documentación.

7.1.Herramientas de modelado y de diseño técnico.

7.2.Generación automática de documentación técnica.

7.3.Documentación interna de código.

7.4.Documentación de código para la generación de documentación externa.

8.Buenas prácticas en documentación.

8.1.Actualizaciones de documentación.

8.2.Documentación colaborativa mediante wikis.

8.3.Uso de herramientas multimedia. Videotutoriales.

9.Prueba de autoevaluación.

Resumen

Prueba de evaluación final

Introducción

Este manual ha sido elaborado con el propósito de ofrecer un análisis completo y detallado sobre la implantación de aplicaciones web en entornos de Internet, Intranet y Extranet. A lo largo del contenido, se abordarán tanto los conceptos fundamentales de la tecnología de Internet como las estrategias más avanzadas para la implementación y seguridad de aplicaciones web en diferentes tipos de redes. Este enfoque permitirá a los lectores adquirir las competencias necesarias para gestionar aplicaciones en entornos distribuidos, asegurando su correcto funcionamiento y protegiéndolas ante posibles vulnerabilidades.

El manual inicia con una explicación de los orígenes y la evolución de Internet, seguida por una descripción de los principales servicios que ofrece, como el correo electrónico, la transferencia de archivos y la World Wide Web. Además, se profundiza en las arquitecturas de red, explorando la comparación entre TCP/IP y el modelo OSI, y el papel de los protocolos como TCP, UDP y HTTP en la comunicación entre redes.

A continuación, se introduce la World Wide Web, describiendo su estructura y componentes clave. Este capítulo abarca desde los principios de diseño de sistemas web, hasta la configuración de servidores, la seguridad en los entornos web y el uso de servidores especializados como los de aplicaciones y bases de datos. También se destaca el papel de la infraestructura en la nube y cómo esta se integra en la gestión y escalabilidad de los recursos.

Posteriormente, se abordan las diferentes tecnologías para el desarrollo y despliegue de aplicaciones web, examinando modelos de desarrollo como el MVC (Modelo Vista-Controlador), así como las herramientas y prácticas comunes en los entornos de desarrollo y producción. Además, se presentan políticas de seguridad para las aplicaciones web, incluyendo técnicas avanzadas de autenticación y gestión de sesiones.

El manual también incluye un apartado sobre la verificación y control de versiones de las aplicaciones, explicando los tipos de pruebas que aseguran el rendimiento y la integridad de los datos, así como las herramientas que facilitan la gestión de versiones en entornos colaborativos y distribuidos. Además, se proporcionan buenas prácticas de documentación, que resultan esenciales para mantener un control adecuado sobre las aplicaciones a lo largo de su ciclo de vida.

Por último, se ofrece una guía sobre la documentación de aplicaciones web, cubriendo aspectos clave como los tipos de documentación, las herramientas de generación automática de documentación técnica, y la importancia de las actualizaciones regulares para garantizar la precisión de la información.

Este documento servirá como una referencia integral para profesionales que buscan implementar aplicaciones web en entornos distribuidos, brindando las herramientas y conocimientos necesarios para gestionar eficientemente aplicaciones en redes complejas como Internet, Intranet y Extranet. A lo largo del manual, se plantearán pruebas de autoevaluación que permitirán al lector consolidar su aprendizaje y enfrentar los retos técnicos asociados con estos entornos.

A continuación, se presentará un glosario de términos clave relacionados la implantación de aplicaciones web en entornos internet, intranet y extranet:

AJAX (Asynchronous JavaScript and XML): Técnica que permite actualizar partes de una página web sin recargar toda la página, mejorando la experiencia del usuario.API (Application Programming Interface): Conjunto de funciones y procedimientos que permiten que una aplicación acceda a características o datos de otra.API Gateway: Servicio que gestiona, controla y asegura el tráfico entre clientes y microservicios, actuando como punto de entrada para todas las solicitudes de API.Aplicación web: Software que se ejecuta en un servidor web y es accesible a través de un navegador, utilizando tecnologías como HTML, CSS, y JavaScript.Arquitectura cliente-servidor: Modelo donde el cliente (navegador) solicita servicios o recursos a un servidor, que los procesa y envía la respuesta.Autenticación de doble factor (2FA): Método de seguridad que requiere dos formas de verificación antes de conceder acceso a un sistema.Balanceo de carga: Técnica que distribuye el tráfico entrante entre varios servidores para optimizar el rendimiento y la disponibilidad de aplicaciones web.Bastion Host: Servidor que actúa como punto de acceso seguro a una red interna desde el exterior, protegiendo los recursos críticos del sistema.Cache-Control: Directiva HTTP utilizada para especificar las políticas de almacenamiento en caché de los recursos de una aplicación web.CD (Continuous Delivery): Práctica que asegura que el código desarrollado está siempre listo para desplegarse en cualquier momento.CDN (Content Delivery Network): Red de servidores distribuidos que entregan contenido web a los usuarios según su ubicación geográfica, mejorando la velocidad de carga.Certificados digitales: Documentos electrónicos que verifican la identidad de un servidor o usuario, utilizados en conexiones seguras mediante HTTPS.CI (Continuous Integration): Práctica de desarrollo de software donde el código es continuamente integrado, probado y verificado, asegurando su correcto funcionamiento en todo momento.CI/CD (Integración Continua/Entrega Continua): Práctica que automatiza el proceso de desarrollo, pruebas e implementación de aplicaciones para acelerar su entrega.Cifrado SSL/TLS: Métodos de cifrado que aseguran la transmisión de datos entre servidores y clientes, garantizando la confidencialidad y autenticidad.Cluster: Conjunto de servidores conectados que trabajan juntos para mejorar la disponibilidad y escalabilidad de las aplicaciones web.Content Security Policy (CSP): Mecanismo de seguridad que ayuda a prevenir ataques como XSS limitando los recursos que un navegador puede cargar en una página web.Cookies: Pequeños archivos de texto que se almacenan en el navegador del usuario para mantener el estado o la sesión entre visitas.Cross-Origin Resource Sharing (CORS): Mecanismo que permite a las aplicaciones web realizar peticiones HTTP entre distintos dominios, protegiendo así la seguridad.CSRF (Cross-Site Request Forgery): Tipo de ataque en el que un usuario autenticado realiza acciones no deseadas en una aplicación web bajo la autorización legítima.CSS (Cascading Style Sheets): Lenguaje de estilo utilizado para diseñar y darle formato visual a las páginas web.Data Center: Instalación que alberga servidores y otros recursos de TI para almacenar, gestionar y distribuir datos de aplicaciones y servicios web.Data Loss Prevention (DLP): Estrategia de seguridad que asegura que los datos sensibles no se pierdan ni se expongan fuera de la organización de manera accidental o intencional.DDoS (Distributed Denial of Service): Tipo de ataque cibernético que busca sobrecargar un servidor o red con tráfico masivo para interrumpir su funcionamiento.DevOps: Conjunto de prácticas que integran el desarrollo (Dev) y las operaciones (Ops) para automatizar y mejorar la entrega continua de software.DNS (Sistema de Nombres de Dominio): Sistema que traduce nombres de dominio legibles por humanos (como www.ejemplo.com) en direcciones IP comprensibles por las computadoras.DNS Load Balancing: Técnica que distribuye el tráfico entre varios servidores usando entradas DNS, mejorando la disponibilidad y el rendimiento de la aplicación.Docker: Plataforma que permite empaquetar aplicaciones y sus dependencias en contenedores portátiles, facilitando la implementación y la escalabilidad.DOM (Document Object Model): Representación estructurada de un documento HTML o XML que los navegadores utilizan para renderizar páginas y manipular elementos.Edge Computing: Procesamiento de datos en dispositivos o servidores cercanos a la fuente de datos, reduciendo la latencia y mejorando la eficiencia en aplicaciones en tiempo real.Elasticidad: Capacidad de una infraestructura en la nube para ajustar dinámicamente los recursos según la demanda de la aplicación, permitiendo que se amplíen o reduzcan según sea necesario.Escalabilidad: Capacidad de una aplicación o sistema de aumentar su capacidad de procesamiento al añadir más recursos, como servidores o ancho de banda.Extranet: Extensión de la Intranet que permite el acceso a partes de la red a usuarios externos, facilitando la colaboración entre diferentes entidades.Failover: Mecanismo que permite la conmutación automática a un servidor de respaldo en caso de fallo del servidor principal, garantizando la continuidad del servicio.Firewall: Sistema de seguridad que filtra el tráfico entre redes, permitiendo o bloqueando accesos según políticas definidas.GIT: Sistema de control de versiones distribuido que permite a varios desarrolladores trabajar en un proyecto sin conflictos de versiones.GraphQL: Lenguaje de consulta para APIs que permite obtener exactamente los datos necesarios, mejorando la eficiencia sobre REST.Horizontal Scaling: Método de escalar un sistema añadiendo más máquinas o nodos a una red en lugar de aumentar la capacidad de una única máquina.HTML (HyperText Markup Language): Lenguaje de marcado utilizado para estructurar y presentar contenido en la web.Hybrid Cloud: Entorno que combina servicios de la nube pública y privada, permitiendo a las organizaciones mover datos y aplicaciones entre ambos según sus necesidades.Internet: Red global de computadoras que permite la interconexión de dispositivos y el intercambio de información a nivel mundial.Intranet: Red privada que utiliza tecnologías de Internet (como TCP/IP y HTTP) dentro de una organización para facilitar la comunicación interna.IPsec (Internet Protocol Security): Protocolo que proporciona autenticación y cifrado en las comunicaciones a nivel de red en Internet.JavaScript: Lenguaje de programación utilizado principalmente en el desarrollo web para añadir interactividad a las páginas web.Jenkins: Herramienta de automatización utilizada para integrar y desplegar aplicaciones, muy común en flujos de CI/CD.JSON (JavaScript Object Notation): Formato ligero de intercambio de datos, ampliamente utilizado en aplicaciones web para transmitir datos entre cliente y servidor.JWT (JSON Web Token): Estándar abierto que define una forma compacta y segura de transmitir información entre partes como un objeto JSON firmado digitalmente.Kubernetes: Sistema de orquestación de contenedores que automatiza la implementación, escalabilidad y administración de aplicaciones en contenedores.Latencia: Tiempo que tarda un paquete de datos en viajar desde la fuente hasta el destino en una red.Load Balancer: Dispositivo o software que distribuye el tráfico entrante entre múltiples servidores para optimizar el uso de recursos y evitar sobrecargas.Load Testing: Proceso de someter una aplicación web a una carga de trabajo para evaluar su rendimiento bajo diferentes condiciones de tráfico.Microfrontend: Arquitectura que descompone una interfaz web en componentes independientes que pueden ser desarrollados y desplegados por separado.Microservicios: Estilo arquitectónico donde una aplicación se divide en servicios pequeños e independientes que interactúan entre sí a través de API.Middleware: Software que actúa como intermediario entre diferentes aplicaciones o servicios, facilitando la comunicación y el intercambio de datos.Modelo MVC (Modelo-Vista-Controlador): Patrón de diseño que separa la lógica de negocio, la interfaz de usuario y el control de los datos en el desarrollo de aplicaciones web.Monitoreo de aplicaciones: Herramientas y procesos para supervisar el rendimiento, disponibilidad y errores en aplicaciones web.Navegador web: Programa que permite a los usuarios acceder y visualizar aplicaciones web a través de Internet.NGINX: Servidor web de alto rendimiento que también puede actuar como proxy inverso, balanceador de carga y caché HTTP.NoSQL: Tipo de base de datos que no utiliza el modelo relacional tradicional, ideal para manejar grandes volúmenes de datos no estructurados.OAuth 2.0: Versión actualizada del protocolo OAuth, que proporciona un marco seguro para la autorización de terceros sin compartir credenciales.OAuth: Protocolo estándar de autenticación que permite a los usuarios compartir recursos privados entre aplicaciones sin revelar sus credenciales.Polyfill: Código que implementa una funcionalidad web que no es nativamente soportada por un navegador específico, asegurando compatibilidad entre navegadores.Protocolo HTTP: Protocolo de transferencia de hipertexto utilizado para la comunicación entre navegadores y servidores web.Proxies: Servidores intermediarios que actúan como intermediarios entre los clientes y los servidores, ayudando en la seguridad y la caché.Proxy inverso: Servidor que recupera recursos en nombre de un cliente desde uno o más servidores, actuando como intermediario y mejorando la seguridad y el rendimiento.PWA (Progressive Web App): Aplicación web que utiliza tecnologías modernas para ofrecer una experiencia similar a las aplicaciones nativas, incluyendo funcionamiento offline.Rate Limiting: Técnica utilizada para controlar la cantidad de solicitudes que un servidor acepta en un intervalo de tiempo, protegiendo la aplicación de sobrecargas o abusos.Relational Database Management System (RDBMS): Sistema de gestión de bases de datos basado en el modelo relacional, que organiza los datos en tablas.Repositorio de versiones: Sistema que almacena versiones de archivos o aplicaciones y permite la colaboración y control de cambios, como Git.REST (Representational State Transfer): Estilo arquitectónico para la creación de servicios web que interactúan a través de HTTP, utilizando métodos como GET, POST, PUT y DELETE.Reverse DNS Lookup: Proceso en el que se busca el nombre de dominio asociado con una dirección IP, el inverso de una búsqueda DNS tradicional.Reverse Proxy: Servidor intermedio que recibe peticiones de clientes y las redirige a los servidores backend, mejorando la seguridad y el rendimiento.SAML (Security Assertion Markup Language): Estándar de autenticación para intercambiar datos de seguridad entre dominios, común en implementaciones de SSO.Sandboxing: Técnica de seguridad que ejecuta aplicaciones en un entorno aislado para limitar su acceso al sistema y prevenir daños en caso de vulnerabilidades.Serverless: Modelo de ejecución en la nube donde el proveedor gestiona la infraestructura y los recursos, permitiendo a los desarrolladores centrarse únicamente en el código.Service Mesh: Infraestructura dedicada para manejar la comunicación entre microservicios, proporcionando observabilidad, seguridad y gestión del tráfico.Servicios en la nube (Cloud): Infraestructura que permite alojar, gestionar y desplegar aplicaciones y servicios a través de Internet de forma escalable.Servidor HTTP/2: Protocolo más reciente para mejorar la velocidad y eficiencia de las conexiones web mediante la multiplexación de solicitudes en una sola conexión.Servidor web: Equipo o software que aloja y entrega páginas web a través de protocolos como HTTP o HTTPS.Single Sign-On (SSO): Sistema de autenticación que permite a los usuarios acceder a múltiples aplicaciones o servicios con una sola credencial de inicio de sesión.SOAP (Simple Object Access Protocol): Protocolo basado en XML para el intercambio de información en servicios web, más robusto que REST en términos de seguridad.SOAP (Simple Object Access Protocol): Protocolo estándar basado en XML que permite el intercambio de información estructurada entre aplicaciones en redes distribuidas.SQL Injection: Vulnerabilidad en aplicaciones web donde los atacantes inyectan código SQL malicioso a través de entradas de usuario para manipular bases de datos.SSL/TLS Offloading: Técnica en la que un servidor proxy maneja el cifrado y descifrado del tráfico SSL/TLS, liberando a los servidores backend de esa tarea.Stateful vs. Stateless: En sistemas web, la diferencia entre gestionar el estado (stateful) en el servidor o cliente, o no mantener información de estado entre solicitudes (stateless).TCP/IP: Conjunto de protocolos que permite la conexión y transmisión de datos a través de redes, como Internet.TLS (Transport Layer Security): Protocolo que garantiza la seguridad y confidencialidad de las comunicaciones entre aplicaciones web mediante el cifrado de datos.Vertical Scaling: Método de escalar un sistema mejorando los recursos (como CPU o RAM) de una única máquina para mejorar su rendimiento.Virtualización: Proceso de crear versiones virtuales de recursos físicos, como servidores, almacenamiento o redes, mejorando la flexibilidad y utilización de los recursos.VPN (Red Privada Virtual): Tecnología que permite crear conexiones seguras a redes privadas a través de redes públicas como Internet.WAF (Web Application Firewall): Firewall especializado en proteger aplicaciones web contra ataques comunes como inyecciones SQL o Cross-Site Scripting (XSS).WAF (Web Application Firewall): Tipo de firewall diseñado específicamente para proteger aplicaciones web de ataques como inyecciones de SQL o Cross-Site Scripting (XSS).Web Crawler: Programa automatizado que recorre la web para indexar contenido y datos, utilizado por motores de búsqueda para organizar la información en la web.WebAssembly (WASM): Tecnología que permite ejecutar código de bajo nivel (cercano al rendimiento nativo) en navegadores web, complementando JavaScript.Webhooks: Métodos que permiten que una aplicación web comunique eventos automáticamente a otra aplicación a través de HTTP, sin necesidad de polling.WebRTC (Web Real-Time Communication): Conjunto de tecnologías que permiten la comunicación en tiempo real (como audio, video o datos) directamente entre navegadores.WebSockets: Protocolo que permite la comunicación bidireccional en tiempo real entre clientes y servidores.XSS (Cross-Site Scripting): Vulnerabilidad de seguridad que permite a los atacantes inyectar scripts maliciosos en sitios web vistos por otros usuarios.Zero Trust Security: Modelo de seguridad en el que no se confía en ningún dispositivo, red o usuario por defecto, verificando constantemente todos los accesos y comunicaciones.Zoning: Práctica de segmentar una red en áreas seguras (zonas) para controlar mejor los flujos de datos y reducir riesgos de seguridad.

Tecnologías y conceptos de Internet

Las tecnologías y conceptos de Internet son el conjunto de herramientas, protocolos y principios que permiten la comunicación y el intercambio de información en la red global. Internet se basa en la interacción entre diversos elementos, como las redes de ordenadores, los servidores, los navegadores y los dispositivos de los usuarios, que funcionan a través de protocolos estandarizados como TCP/IP, HTTP o DNS. ´

Además, conceptos clave como la nube, que permite el almacenamiento y procesamiento de datos en servidores remotos, o el IoT (Internet of Things), que conecta dispositivos inteligentes para la automatización, están transformando cómo las personas y las empresas utilizan la red. Estas tecnologías han evolucionado para ofrecer mayor velocidad, seguridad y accesibilidad, siendo esenciales en el desarrollo de aplicaciones web modernas, la gestión de grandes volúmenes de datos y la integración de servicios globales.

1.Breve historia y origen de Internet.

Internet no surgió de la noche a la mañana. De hecho, todo empezó en la década de 1960 durante la Guerra Fría, cuando el Departamento de Defensa de Estados Unidos quería crear una red de comunicación que pudiera sobrevivir a un ataque nuclear. ¿Cómo lo hicieron? Desarrollaron ARPANET, una red que conectaba varios ordenadores a través de líneas telefónicas. Esta fue la primera versión de lo que hoy conocemos como Internet.

Pero ARPANET no era lo que imaginamos cuando pensamos en Internet hoy en día. No había webs, ni redes sociales, ni correos electrónicos como los conocemos. Lo que hacían principalmente era compartir información entre universidades y centros de investigación. Era una herramienta para científicos y académicos.

Un momento clave fue en 1983, cuando ARPANET cambió a TCP/IP, un protocolo de comunicación que todavía se usa hoy. Este protocolo permitió la conexión de diferentes redes, creando lo que llamamos la “red de redes”, o sea, Internet. De ahí en adelante, la cosa fue evolucionando, y para los 90, la invención de la World Wide Web por Tim Berners-Lee en 1989, que hablaremos más adelante, realmente cambió el juego. Internet empezó a ser accesible para el público general, no solo para los científicos.

2.Principales servicios ofrecidos por Internet.

Internet ofrece muchos servicios diferentes, y aunque algunos han cambiado con el tiempo, los principales han sido bastante consistentes desde sus inicios. Vamos a ver algunos de los más importantes.

2.1.World Wide Web.

La World Wide Web, o simplemente la web, es probablemente el servicio más conocido. Como mencionamos antes, fue inventada por Tim Berners-Lee en 1989, pero no se popularizó hasta los años 90, cuando las primeras páginas web empezaron a aparecer. ¿Qué es la web en realidad? Es una colección de páginas que están conectadas entre sí a través de enlaces (los famosos "links") y que pueden ser accedidas usando un navegador, como Chrome o Firefox.

Es importante no confundir la web con Internet. Internet es la infraestructura, la red global que conecta los ordenadores, mientras que la web es uno de los servicios que corre sobre esa infraestructura. La web usa un protocolo llamado HTTP (Hypertext Transfer Protocol) para transferir información entre el servidor (donde está almacenada la página web) y el usuario (tú, cuando navegas por la web).

Un ejemplo sencillo de cómo funciona: imagina que escribes "www.youtube.com" en tu navegador. Lo que haces es enviar una solicitud al servidor donde está alojada esa página. El servidor responde enviando el contenido de la página de YouTube a tu navegador, y tú la puedes ver en pantalla:

2.2.Correo electrónico.