Está en la página 1de 21

Detalles sobre Protocolos

HTTP, HTTPS
Implantación de Aplicaciones Web
Curso 2021 – 2022
ASIR
HTTP
Protocolo de nivel de aplicación
Características más importantes
• Texto plano
• Sin estado o sesión
• Tras la petición HTTP, el servidor cierra la comunicación TCP
• Puerto 80
• Forma normal de solicitar un recurso vía HTTP:
• http://<servidor>:<puerto>/(<recurso>)
• ¿Os suenan estas URLs?
• ftp://<servidor>:<puerto>
• https://<servidor>
¿Qué hemos
hecho/estamos
haciendo en la
práctica de
HTTP?
¿Qué métodos habéis
encontrado?

Métodos de ¿Cuáles son los más


envío de frecuentes que habéis
encontrado?
los datos
¿Qué pensáis que hacen
esos métodos?
Métodos HTTP
• GET: Solicita un documento al servidor.
• Se pueden enviar datos en la URL
• POST: Manda datos al servidor para su procesado.
• Similar a GET, pero además envía datos en el cuerpo del mensaje.
• La URL corresponde a una página dinámica que trata los datos enviados.

• PUT: Almacena el documento enviado en el cuerpo del mensaje.


• DELETE: Elimina el documento referenciado en la URL.
• HEAD: Similar a GET, pero sólo pide las cabeceras HTTP.
• Comprobar enlaces Se pueden consultar información sobre el fichero antes de solicitarlo.
• TRACE: Rastrea los intermediarios por los que pasa la petición.
• OPTIONS: Averigua los métodos que soporta el servidor.
• En una caché sólo se guardan las respuestas de las peticiones realizadas con GET y HEAD (POST
no).
Métodos HTTP (diferencias put/post)
PUT

- Idempotencia. Enviando la misma solicitud el resultado será el mismo.

- URL. En general se espera que envíen la URL completa. La URL debe ser única para ese recurso

- Seguridad: Cuando se conoce la ubicación exacta de recurso y se desea modificar.

PUT (puede crear recursos nuevos en el servidor)

- Idempotencia. NO lo es. Puede tener efectos diferentes en el servidor.

- URL. No siempre ha de referirse directamente al recurso a modificar

- Seguridad: Menos seguro, se deja al servidor como manejar los datos


¿Qué pinta tienen?
Códigos de
¿Cuáles son los más
respuesta / frecuentes?
estado ¿Cuáles han sido los que
más os han llamado la
atención?
Códigos de respuesta / estado
• 1xx: Mensaje informativo • 4xx: Error del cliente
• 2xx: Éxito • 400 Bad request
• 200 OK • 401 Unauthorized
• 201 Created • 403 Forbidden
• 202 Accepted • 404 Not Found
• 204 No content • 5xx: Error del servidor
• 3xx: Redirección • 500 Internal Server Error
• 300 Multiple choice • 501 Not implemented
• 301 Moved permanently • 502 Bad Gateway
• 302 Not Found • 503 Service Unavailable
• 304 Not Modified
Página útil para “recordar” qué significa cada uno: https://developer.mozilla.org/es/docs/Web/HTTP/Status
Pregunta
• Hemos dicho que HTTP NO tiene estado.
• Hemos dicho que cada petición es independiente de la
anterior.
• Entonces… cuando quieres guardar tu carrito de la
compra en una tienda online, ¿qué pasa? ¿cómo
hacemos eso?
• La respuesta…
¡COOKIES!
Qué son las cookies y para qué sirven
• Las cookies es información que el navegador guarda en memoria o en
el disco duro dentro de ficheros texto, a solicitud del servidor.

• Incluyen datos generados por el servidor, o datos introducidos en un


formulario por el usuario, enviados al servidor y reenviados por éste al
cliente.

• Las cookies pueden usarse para asociar estado. Proporcionan una


manera de conservar cierta información entre peticiones del cliente.
Usos
• Información de la sesión.
• Comercio electrónico (carrito de
la compra)
• Personalización de páginas
(idiomas, skin seleccionada,
menús…)
• Seguimiento de las visitas a un
Web (analíticas)
• Carteles publicitarios
¿Dónde ver las cookies en un navegador?
• De alguna de las webs que
habéis utilizado para la
actividad de la Tarea de
Ejercicio Investigación HTTP, mirad si
rápido tienen cookies, y qué pinta
tienen.
• ¿Son del mismo dominio?
¿Son de otros?
• ¿Alguna que tenga un
sentido?
• HTTPS: protocolo que utiliza TLS/SSL (Transport Layer
Security / Secure Sockets Layer)para transportar
mensajes HTTP (puerto 443).
• TLS/SSL asegura que la conexión TCP está cifrada, de
forma que una tercera parte no puede espiar su
contenido.
HTTPS (HTTP • Esta ampliamente implementado tanto en los
sobre SSL/TLS) navegadores como en los servidores actuales.
• La URL comienza por “https://”.
• Cliente y servidor pueden transmitir nuevos mensajes
de forma segura utilizando la misma conexión TLS/SSL.
¿Dónde está ubicado TLS/SSL?
¿Pero es TLS o es SSL?
• SSL = Secure Sockets Layer
• TLS = Transport Layer Security
• El protocolo TLS es solo una versión actualizada y más segura de SSL.
• Si bien aún denominamos a nuestros certificados de seguridad SSL
porque es un término más común.
¿Pero es TLS o es SSL?
Protocolo Publicación
• Historia: SSL 1.0 No publicado
SSL 2.0 1995
SSL 3.0 1996
TLS 1.0 1999
TLS 1.1 2006
TLS 1.2 2008
TLS 1.3 2018
• ¿Qué nos permite?
• El cliente comprueba la identidad del servidor
(mediante la comprobación del certificado de
clave pública)
• Se establece un cifrada de los datos
intercambiados entre las dos máquinas (cliente y
servidor)
HTTPS • Asegura la integridad del mensaje (es decir, que
no se alteran los datos entre el punto inicio y
destino)
Ejercicio rápido
• De alguna de las webs que habéis utilizado para la
actividad de la Tarea de Investigación HTTP, comprueba
si tienen certificado y averigua datos del mismo
(utilizando el propio navegador o el Inspector de
Chrome/Firefox):
• Versión del protocolo TLS/SSL
• A qué dominio está asignado el certificado
• ¿Está expirado el certificado?
• ¿Quién es el emisor de ese certificado?
• ¿Cuál es la jerarquía de autoridad del certificado?
• ¿Podéis encontrar la clave pública?

También podría gustarte