Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

04-Middleware para Aplicaciones Web (HTTP)

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

Programación de Aplicaciones Web en una

Plataforma Orientada a Objetos

Middleware para aplicaciones web

Saúl Dominguez Isidro


saul.dominguez@lania.edu.mx

TODOS LOS DERECHOS RESERVADOS


Temas a tratar
• Protocolo HTTP
• Características del protocolo HTTP
• Operaciones del protocolo HTTP

2
Objetivo de la lección

Conocer las características


del protocolo HTTP y su
importancia como
middleware en las
aplicaciones web

3
Middleware en aplicaciones web
• Debido a que las aplicaciones web funcionan mediante
una arquitectura cliente-servidor
• El middleware de bajo nivel utilizado es el TCP/IP
• El middleware de alto nivel empleado es el protocolo
de transferencia de hipertexto (HTTP)

4
¿Qué es un protocolo?

Origen de la palabra: En informática:

Un protocolo de comunicaciones es el conjunto de reglas


del latín protocollum, el cual ya derivaba de un concepto
y estándares que tienen como fin controlar las secuencias
griego. En español, el protocolo es un conjunto de reglas
de los mensajes que suceden en una comunicación entre
o instrucciones a seguir, fijadas por la ley o la tradición.
las entidades que forman parte de una misma red.

El protocolo de Internet (Internet Protocol) es un


protocolo de comunicación que posee datos digitales que
se clasifican de manera funcional en la Capa de la Red
siguiendo el modelo internacional OSI.

Fuente: https://concepto.de/protocolo/#ixzz60xEzAWyd
5
Protocolos de internet
• Los protocolos de internet sostienen la Web, por lo
tanto es importante comprender estos protocolos
para el desarrollo de las aplicaciones web
• La forma en que se lleva acabo el flujo de la
información a través de la Web se le conoce como
protocolo.
• El explorador web (cliente), el servidor web
(servidor), y la aplicación web se comunican unas
con otras por medio del HTTP (Hypertext Transfer
Protocol)

6
El protocolo HTTP
• Los clientes mandan peticiones HTTP al los
servidores web, y éstos regresan los datos
solicitados en la forma de respuestas HTTP

7
Protocolo HTTP - características

HTTP es un protocolo sin estado


es decir: no guarda ningún dato entre dos peticiones en la misma sesión.

Por lo tanto, en caso de que los usuarios requieran interactuar con


determinadas páginas Web de forma ordenada y coherente, por ejemplo,
para el uso de "carritos de la compra" en páginas que de comercio
electrónico.

Sin embargo, el uso de HTTP cookies, si permite guardar datos con respecto
a la sesión de comunicación.

Usando la capacidad de ampliación del protocolo HTTP, las cookies permiten


crear un contexto común para cada sesión de comunicación.

8
Protocolo HTTP - Solicitudes
• Cuando un cliente hace una petición de un recurso, esta adjunta
la identificación del recurso solicitado en forma de URL
(Uniform Resource Locator)

• Una URL genérica es una secuencia jerárquica de componentes,


estructurado como:

esquema://NombreHost:puerto/dirección/recurso?caden
a de consulta.

9
Protocolo HTTP - Solicitudes
esquema://NombreHost:puerto/dirección/recurso?caden
a de consulta.

10
Esquema de seguridad HTTPS
• Es HTTP sobre Secure Sockets Layer (SSL); esto permite
comunicaciones cifradas seguras.

Se utilizan algoritmos de cifrado asimétrico como el RSA


11
Protocolo HTTP – cadenas de consulta
Una cadena de consulta es una serie de nombres-de-
parámetros precedidos con un signo de interrogación (?) y
con un ampersand (&) separando cada parámetro

# Parameter name Parameter value


1 q LANIA
2 src typd

12
Protocolo HTTP - métodos
• Los métodos en los cuales HTTP permite las solicitudes
son:
– GET
– POST
– PUT
– DELETE

• Las cadenas de consulta son soportadas por el método


GET del protocolo

13
Protocolo HTTP – encabezado de solicitud
Es la información, en forma de texto, que el navegador de un usuario envía a
un servidor web conteniendo los detalles de lo que el navegador desea y
aceptará del servidor.

El encabezado de la solicitud también contiene el tipo, la versión y las


capacidades del navegador que realiza la solicitud para que el servidor
devuelva datos compatibles.

Al recibir el encabezado de la solicitud, el servidor devolverá un encabezado de


respuesta HTTP al cliente que se adjunta al archivo(s) que se está enviando.

14
Protocolo HTTP – encabezado de solicitud
En el ejemplo se muestra la primera línea con la línea de solicitud,
después se despliega la información del encabezado de solicitud
HTTP.

GET /index.php?option=com_content&view=article&id=57&Itemid=86 HTTP/1.1!!br0ken!!


Host: http://www.lania.mx/lms/maestrias/login/index.php
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: 6bat36d0999f4da0e8214bc3a90328f50=p3eug5t?pvonb5lrf40jf5dcf71
Connection: keep-alive

15
Protocolo HTTP – encabezado de respuesta

La información, en forma de un registro de texto, que un servidor web envía de


vuelta al navegador de un cliente en respuesta a recibir una solicitud HTTP.

El encabezado de respuesta contiene la fecha, el tamaño y el tipo de archivo


que el servidor está enviando al cliente y también datos sobre el servidor en sí.

El encabezado se adjunta a los archivos que se envían de nuevo al cliente.

16
Protocolo HTTP – encabezado de respuesta
HTTP/1.1 200 OK
Date: Wed, 19 Sep 2018 11:56:29 GMT La línea de estado consta de dos partes (primera
Server: Apache Tomcat 9 linea): el protocolo, normalmente HTTP 1.1, y un
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP código numérico de estado seguido de un mensaje
IND DEM" breve. El código 200 significa que la petición GET
Expires: Mon, 1 Jan 2019 00:00:00 GMT tuvo éxito y el servidor devolvió los contenidos
Cache-Control: no-store, no-cache, must-revalidate, post- solicitados (justo después de las cabeceras).
check=0, pre-check=0
Pragma: no-cache
Last-Modified: Wed, 19 Sep 2018 11:57:30 GMT El típico error 404 proviene del código de error que
Vary: Accept-Encoding,User-Agent aparece en la línea de status, 404, que signfica not
Content-Encoding: gzip found o no encontrado. En general los códigos 200
Content-Length: 9237 indican respuestas correctas, los códigos 300 indican
Keep-Alive: timeout=1, max=100 redirecciones, los códigos 400 problemas con la
Connection: Keep-Alive petición y los códigos 500 problemas del servidor.
Content-Type: text/html; charset=utf-8

<!DOCTYPE HTML> El resto de cabeceras contienen información sobre


<html xmlns="http://www.w3.org/1999/xhtml" la respuesta del servidor, por ejemplo el software
xml:lang="es-es" lang="es-es" > que corre el servidor, en qué fecha se hizo la última
<head> modificación del recurso solicitado, etc.
… continúa un código html extenso

17
Protocolo HTTP – códigos de estado

El código de estado que


un servidor devuelve a un
cliente en una petición
indica el resultado de • 100 - 199: códigos de información,
dicha petición. Se tiene indicando que el cliente debe
una descripción completa responder con alguna otra acción.
de los mismos en el RFC
2616. Están agrupados en
5 categorías:

18
Protocolo HTTP – códigos de estado

segunda • 200 - 299: códigos de aceptación de


categoría petición. Por ejemplo:

200 OK Todo esta bien


204 No content No hay documento nuevo

19
Protocolo HTTP – códigos de estado

• 300 - 399: códigos de redirección. Indican


tercera categoría que el documento solicitado ha sido movido
a otra URL. Por ejemplo:

301 Moved Permanently El documento está en otro lugar, indicado en la


cabecera Location
302 Found Como el anterior, pero la nueva URL es temporal,
no permanente.
304 Not Modified El documento pedido no ha sufrido cambios con
respecto al actual (para cabeceras If-Modified-
Since)

20
Protocolo HTTP – códigos de estado

• 400 - 499: códigos de error del cliente. Por


cuarta categoría ejemplo:

400Bad Request Mala sintaxis en la petición


El cliente no tiene permiso para acceder a la página. Se debería
401Unauthorized devolver una cabecera WWW-Authenticate para que el usuario
introduzca login y password
403Forbidden El recurso no está disponible
404Not Found No se pudo encontrar el recurso
408Request Timeout El cliente tarda demasiado en enviar la petición

21
Protocolo HTTP – códigos de estado

• 500 - 599: códigos de error del servidor. Por


quinta categoría ejemplo:

Internal
500
Server Error Error en el servidor
Not
501 El servidor no soporta la petición realizada
Implemented

Gateway Usado por servidores que actúan como proxies o gateways,


504 indica que el servidor no obtuvo una respuesta a tiempo de
Timeout
un servidor remoto

22

También podría gustarte