Portada » Informática » Conceptos Fundamentales de Desarrollo Web y Redes: Una Visión Integral
Un servicio de telecomunicación es un conjunto de medios operados y gestionados por un proveedor, puestos a disposición del usuario para satisfacer sus necesidades de comunicación.
Un servicio de telecomunicación debe tener las siguientes características:
La convergencia de servicios de telecomunicación en Internet es el proceso por el cual diversos servicios (como voz, mensajería, vídeo, datos) se integran y se ofrecen a través de una única infraestructura basada en Internet. Esto permite ofertar múltiples servicios desde la misma red, facilitando la transformación digital.
Los documentos normativos que genera la IETF (Internet Engineering Task Force) sobre Internet se denominan RFC (Request for Comments). Los tipos de documentos de estándar existentes en la actualidad son:
Los elementos fundamentales de una petición HTTP/1.1 son:
GET
, POST
, PUT
, DELETE
).Ejemplo ilustrativo de una petición HTTP/1.1 para obtener un recurso:
GET / HTTP/1.1
Host: www10.ujaen.es
User-Agent: Mozilla/5.0
Accept: text/html
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
El protocolo HTTP sigue un modelo cliente-servidor. El intercambio se produce de la siguiente manera:
Petición del Cliente: El cliente (navegador) envía una petición al servidor. Los elementos fundamentales que incluye son:
GET
, POST
).User-Agent
, Accept
).POST
).Respuesta del Servidor: El servidor procesa la petición y envía una respuesta al cliente. Los elementos fundamentales que incluye son:
200 OK
, 404 Not Found
), indicando el resultado de la petición.Content-Type
, Set-Cookie
).La diferencia fundamental radica en el manejo de las conexiones. HTTP/1.1 utiliza una conexión por cada solicitud/respuesta, lo que puede generar latencia y un uso ineficiente de los recursos. En contraste, HTTP/2 emplea la multiplexación, permitiendo el envío de múltiples solicitudes y respuestas de forma concurrente sobre una única conexión TCP, lo que reduce significativamente la latencia y mejora el rendimiento general.
Una ventaja de los servicios web REST con respecto a SOAP, según lo expuesto, es su ligereza y eficiencia. Mientras que SOAP utiliza XML, lo que añade sobrecarga y complejidad de procesamiento, REST emplea JSON, haciendo la transferencia de datos más rápida y eficiente. Además, REST funciona directamente sobre HTTP, lo que facilita su implementación en entornos web.
HTTP proporciona las cookies para almacenar información de estado dependiente del dominio en el navegador. El funcionamiento es el siguiente: el servidor envía una cabecera Set-Cookie
en su respuesta; el navegador guarda esta cookie y la reenvía automáticamente en cada solicitud subsiguiente al mismo dominio.
Cuando un script intenta acceder a un recurso fuera del servidor de origen, se produce un error de seguridad debido a la Política de Mismo Origen (Same-Origin Policy) del navegador. Esto impide, por defecto, las peticiones a dominios diferentes. La solución es modificar el CORS (Cross-Origin Resource Sharing) en el servidor del recurso al que se intenta acceder. Mediante CORS, se pueden especificar dominios permitidos, puertos o incluso permitir todas las peticiones de origen cruzado.
Web estática: Está almacenada en un servidor remoto y no muestra información personalizada al usuario. El contenido es el mismo para todos los visitantes.
Web dinámica: Se genera bajo demanda del servidor, utilizando tecnologías como las cookies para personalizar la web y mostrar contenido adaptado al usuario.
Las características de extensibilidad y portabilidad de un documento XML implican:
Extensibilidad: Las aplicaciones pueden trabajar de igual manera aunque se le añadan nuevas etiquetas o atributos al documento XML.
Portabilidad: El documento puede ser interpretado en distintas plataformas, ya que es independiente del hardware y del software específico.
En un documento XML:
Que esté bien formado significa que el XML sigue la sintaxis básica correcta (todas las etiquetas están cerradas, anidadas correctamente, etc.).
Que sea válido significa que, además de estar bien formado, cumple con un esquema (una estructura predefinida, como un DTD o un XML Schema).
Las interfaces Screen
, Location
, History
y Navigator
del objeto Window
permiten conseguir la siguiente información:
Window.screen
: Información sobre la pantalla del dispositivo (ej. ancho, alto, profundidad de color).Window.location
: La URL actual del documento, y permite redireccionar o extraer partes de la URL.Window.history
: Permite acceder y manipular el historial de navegación del navegador.Window.navigator
: Información sobre el navegador del cliente (ej. nombre, versión, sistema operativo).Si una operación en una página web se implementa con una conexión síncrona con XMLHttpRequest()
, el problema principal es que bloquea la ejecución del navegador hasta que la respuesta llega. Esto afecta negativamente la experiencia del usuario, ya que la interfaz de usuario se congela y no responde durante la espera.
Se podría solucionar utilizando peticiones asíncronas, como las proporcionadas por Fetch()
con promesas, o configurando XMLHttpRequest()
para operar de forma asíncrona (que es su modo por defecto y recomendado).
En JavaScript, existen tres tipos de declaración para contener valores, cada uno con un ámbito diferente:
var
: Tiene un ámbito de función o global. Las variables declaradas con var
son accesibles en toda la función donde se declaran o globalmente si se declaran fuera de cualquier función.
var margen = 10;
let
: Tiene un ámbito de bloque. Las variables declaradas con let
solo son accesibles dentro del bloque de código (ej. if
, for
, {}
) donde se definen.
let price3 = 8;
const
: Declara una constante, que no se puede reasignar ni modificar después de su inicialización. También tiene un ámbito de bloque.
const IVA = 21;
Modelo: Es responsable de la gestión de los datos. Accede a la base de datos, procesa la información y la envía al controlador. Contiene la lógica de negocio.
Vista: Se encarga de presentar los datos al usuario de manera comprensiva y atractiva. Se centra en la interfaz gráfica y la interacción con el usuario, mostrando lo que el usuario ve.
Controlador: Actúa como un intermediario entre el modelo y la vista. Recibe las solicitudes del usuario, las procesa, interactúa con el modelo para obtener o actualizar datos, y decide qué vista presentar.
JSX es una extensión de JavaScript que permite escribir código similar a HTML directamente dentro de código JavaScript en el contexto de React.js. Facilita la creación de elementos de interfaz de usuario de forma declarativa.
Ejemplo sencillo de empleo de JSX con inserción del valor de una variable:
function App() {
const mensaje = "Este es un mensaje dentro de una variable";
return (
<div>
<p>{mensaje}</p>
</div>
);
}
El fichero package.json
en Node.js tiene las siguientes funciones:
Para gestionar las dependencias con módulos externos en una aplicación Node.js, se utiliza npm (Node Package Manager).
Que una página web sea perceptible, operable, comprensible y robusta se refiere al aspecto de la accesibilidad web. Su función principal es asegurar que todos los usuarios, incluyendo aquellos con discapacidades, puedan interactuar con la web fácilmente y acceder a su contenido sin barreras.
Tres acciones en el código HTML para conseguir una página web más accesible:
<label>
: Asociar campos de formulario con su descripción para facilitar la interacción, especialmente con lectores de pantalla.alt
en imágenes: Proporcionar texto alternativo descriptivo para las imágenes, permitiendo a los lectores de pantalla describir el contenido visual.En las bases de datos MongoDB, se pueden emplear dos patrones de modelado principales:
Modelado embebido: Consiste en anidar documentos dentro de otros. Es útil cuando los datos se consultan juntos normalmente. Ofrece un acceso rápido a los datos, pero puede llevar a la duplicación de información.
Modelado referenciado: Separa los documentos en distintas colecciones y los relaciona mediante IDs. Es más flexible y evita la duplicación de datos, pero requiere consultas adicionales para unir la información.
En el ámbito de MongoDB, los objetos almacenados en la base de datos se llaman documentos. Se almacenan en formato BSON, que es una forma binaria de JSON. La agrupación de objetos con características similares se llama colección.