0% encontró este documento útil (0 votos)
23 vistas30 páginas

Introducción a la Arquitectura Web

Arquitectura Web

Cargado por

Gabi
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas30 páginas

Introducción a la Arquitectura Web

Arquitectura Web

Cargado por

Gabi
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Arquitectura Web

INTRODUCCION AL HT TP
Programa

• Un programa es una secuencia de instrucciones en


algún lenguaje compresible para la computadora con el
fin de realizar una tarea especifica.
• Es la implementación en un entorno especifico en un
lenguaje especifico de una solución algorítmica a un
problema
Aplicación

• Es un conjunto de programas.
• Interrelacionados con un fin específico
• Puede utilizar distintos lenguajes
• Es sinérgico
• Las aplicaciones están condicionadas por la
infraestructura en la que se desarrollan y ejecutan
• Las aplicaciones pueden ser monolíticas, modulares,
cliente/servidor, basadas en servicios, basadas en una
arquitectura determinada, etc.
Aplicación Web
Es una construcción de software destinada a un uso
general que utiliza una tecnología específica
(WorldWideWeb) como medio ambiente de despliegue.
• Basa el intercambio de información entre la
aplicación y el cliente en protocolos de Internet
(Básicamente TCP/IP, HTTP y derivados)
• Codifica la GUI utilizando tecnología y protocolos
disponibles en la WWW (HTML, CSS, JavaScript,
etc.)
• Utiliza como mediador en la comunicación entre el
Usuario y la Aplicación un navegador web o una
aplicación especifica basada en él.
Aplicación Web - Introducción

Web-based (web-enabled) application:

• Aplicación Cliente/Servidor: el cliente, el servidor y el


protocolo de intercambio entre ellos ya están definidos
(implementados) y son estándares.

Red TCP/IP
Aplicación Web - Introducción
• Basada en cuatro elementos principales:

[Link] de Datos
• Red TCP/IP

[Link] único de identificación de recursos


• DNS/URL/URI

[Link] aislados / Lenguajes Estándar


• Back-End / Front-End

[Link] y Clientes HTTP


• Se comunica en HTTP, parsea HTML / CSS
Aplicación Web – [Link] de datos

• Red de conmutación de paquetes basada en TCP/IP


(Internet)
• Direccionamiento Único (Dirección IP)
• Gestión y encaminamiento en la red (Simplicidad y
robustez)
• Protocolos estándar (Stack TCP/IP)
• Rutas
• Configuración basada en 3 parámetros:
• Dirección IP
• Puerta de enlace predeterminada
• DNS
Aplicación Web – [Link] de datos
Aplicación Web – [Link] de datos

• Determinación de red local / externa

Par IP / Mascara: [Link] / [Link]

IP Destino: [Link]

IP Destino binario: 11000000.10101000.00001010.00000001


IP Origen binario: 11000000.10101000.00000000.00000001

Mascara: 11111111.11111111.1111111.00000000

La IP no pertenece a la red alcanzable.


Aplicación Web – [Link] de Nombres

• Elementos principales:
•DNS: Domain Name Service
•URL: Uniform Resource Locator
•URI: Uniform Resource Identifier
•URN: Uniform Resource Name
Aplicación Web – [Link] de Nombres

• URL: Uniform Resource Locator


• Estándar de uso general
• Es quien permite identificar un recurso único
dentro de un servicio determinado
• Definido en las RFC 1736, 1737 y 2396 entre
otras
• Una URL determinada en determinado período
de tiempo es única para un cliente en todo el
contexto de red donde se encuentre
• Formato:
servicio://servidor:puerto/caminoDelRecurso/recurso
Ej: [Link]
Aplicación Web – [Link] de Nombres

• URL:
Aplicación Web – [Link] de Nombres

• Esquema:
Aplicación Web – [Link] de Nombres

• Autoridad:
Aplicación Web – [Link] de Nombres

• Recurso:
Aplicación Web – [Link] de Nombres

• Parámetros:
Aplicación Web – [Link] de Nombres

• Anclas:
Aplicación Web – [Link] de Nombres

• URL
•Absolutas: Completa, Protocolo Implícito y Dominio
Implícito

•Relativas: Sub-recursos, Moverse por el árbol de


recursos
Aplicación Web – [Link] de Nombres
• DNS: Domain Name Service
•Estándar de uso general
•Definido en las RFC 881,1034 y 1035
•Es quien convierte nombres de host en
direcciones IP gestionables (encaminables) en la
red
•Sistema jerárquico y centralizado
•Administrado por la ICANN (Corporación de Internet para
la Asignación de Nombres y Números)
•Define una serie de registros accesibles
públicamente (A, AAA, CNAME, NS, MX, PTR, SOA)
Aplicación Web – [Link] aislados

• La lógica de negocios y la persistencia de datos (Back-


End) está físicamente separado del cliente que lo utiliza
(Front-End) mediando una red TCP/IP entre ellos
• Back-End y Front-End no nececitan compartir ni
tecnología ni arquitectura.
• Toda comunicación entre Back-End y Front-End se
realiza mediante protocolo HTTP
Aplicación Web – [Link] y Cliente HTTP

• HyperText Transfer Protocol (RFC 2616 HTTP 1.1)


• El propósito del protocolo HTTP es permitir la transferencia
de archivos (recursos). entre un cliente (Browser) y un
servidor (Servidor HTTP)
• Los recursos en el servidor se localizan mediante una
cadena de caracteres estándar (URL)
• Es un protocolo de la Familia TCP/IP
• Se sitúa en el nivel 7 (aplicación) del OSI-RM (Open
System Interconection-Reference Model)
• Protocolo de transferencia de texto
• Cliente/Servidor
• Petición/Respuesta
• Conectionless & StateLess
Aplicación Web – [Link] y Cliente HTTP

• 0.9 Solo transferencias (GET) a partir del 1.0, implementa


cabeceras (POST)
• MIME – Types / Internet Content Types (codificación)
• Implementa un conjunto determinado de comandos:
– GET (0.9)
– POST (1.0)
– HEAD (1.0)
– PUT
– DELETE
– TRACE
– OPTIONS
– CONNECT
• Comandos mas utilizados: POST, GET y HEAD
Aplicación Web – [Link] y Cliente HTTP

• GET HTTP/0.9 obtiene un recurso a partir de una URL


• HEAD HTTP/1.0 obtiene la cabecera descriptiva de recurso a
partir de una URL
• POST HTTP/1.0 obtiene un recurso y puede enviar datos al
servidor en el proceso
• PUT HTTP/1.1 pide al servidor guarde la información que se
envía
• DELETE HTTP/1.1 para borrar un archivo en el servidor
• TRACE HTTP/1.1 para fines de depuración y seguimiento
• CONNECT HTTP/1.1 reservado para los proxys a fin de crear
un tunel
• OPTIONS HTTP/1.1 lista las opciones de un determinado
recurso
Aplicación Web – [Link] y Cliente HTTP

• Petición HTTP
– Encabezado + Línea en Blanco + Datos Adicionales
• Respuesta HTTP
– Un código de estado sobre la petición + la
información solicitada
Aplicación Web – [Link] y Cliente HTTP

• GET
•Clave GET + recurso + dos CRLF
•Permite pasar parámetros dentro del URL
•Limitado en tamaño (1024 bytes)
• HEAD
•Sólo trae las cabeceras, no devuelve el cuerpo del
documento
•Se utiliza para sincronizar documentos, capacidades del
servidor, etc.
• POST
•Se pasan una serie de cabeceras seguidas de un cuerpo
variable
•Permite pasar parámetros en el cuerpo de la transferencia
en vez de en la URL
Aplicación Web – [Link] y Cliente HTTP

• La petición HTTP siempre devuelve un código del


resultado de la petición:
•1xx indica un mensaje informativo solamente (100 continue)
•2xx indica que algo ha ocurrido (200 ok)
•3xx redirige al usuario a otra URL
•4xx indica un error en el cliente (404 host not fount)
•5xx indica un error en el servidor
Aplicación Web – [Link] y Cliente HTTP

• El Cliente Web es quién gestiona las peticiones del


usuario y la recepción de las páginas que provienen del
servidor.
• Interpreta (parsea y renderiza) los documentos HTML y
sus recursos. Las tecnologías más empleadas son:
• HyperText Markup Language (HTML)
• Cascading Style Sheets (CSS)
• Lenguaje de script (JavaScript, VBScript, etc.)
• Es con quién interactúa el Usuario final
Aplicación Web – [Link] y Cliente HTTP

• Servidor Web es la porción de software residente en un


nodo determinado que espera peticiones: demonio
(daemon) en Linux y servicio en servidores de Microsoft
• Implementa el protocolo HTTP y se encarga de atender
las petición HTTP que convergen en ese nodo
• En la aplicación del servidor hay:
• Páginas estáticas (documentos HTML, imágenes,
media, etc.)
• Pociones de código que al ser invocados se ejecutan
en el entorno del servidor y dan como resultado un
recurso que es devuelto al Cliente
Aplicación Web – [Link] y Cliente HTTP
La secuencia de comunicación entre un Cliente y un
servidor es la siguiente:
Aplicación Web – [Link] y Cliente HTTP
La distribución de responsabilidades en una Aplicación
Web debe ser:

Lógica de Presentación (Cliente)


HTML – CSS – Plug-Ins – WML – XML – JavaScritp - AngularJS

Lógica de Aplicación (Servidor)


ASP - JSP - PHP

Lógica de Acceso a Datos (Persistencia)


SQL

También podría gustarte