Tutorial 23 Automatización para ingenieros de Redes | Parte 4 | HTTP
Summary
TLDREste tutorial número 23, de la serie de 'Tutoriales de Pablo Hidalgo', se enfoca en explicar el protocolo HTTP para ingenieros de redes. Se discute la historia y evolución de HTTP desde su versión 0.9 hasta la actualización de HTTP/1.1 en 2014. Se describen los componentes clave del protocolo, incluyendo clientes y servidores HTTP, URIs y URLs, y se detallan los métodos de solicitud como GET, POST, PUT y DELETE. Además, se analiza la estructura de los requests y responses HTTP, así como los códigos de estado que indican el resultado de una solicitud. El objetivo es proporcionar una base sólida para comprender y aplicar HTTP en proyectos de automatización de redes.
Takeaways
- 🌐 El protocolo HTTP es una pieza fundamental para la automatización de redes, utilizado para transportar mensajes hacia y desde las APIs de los dispositivos de interés.
- 📚 La historia de HTTP comienza en la década de 1990, con versiones que han evolucionado desde HTTP 0.9 hasta la actualización de HTTP 1.1 en 2014.
- 💻 Un cliente HTTP es un programa que genera solicitudes HTTP, mientras que un servidor HTTP recibe estas solicitudes y envía respuestas.
- 🔗 URIs (Uniform Resource Identifiers) se utilizan para identificar recursos y existen dos tipos: URIs absolutos y relativos.
- 📍 Los URIs absolutos comienzan con un esquema seguido de dos puntos, ejemplo: http://10.0.0.1.
- 🌐 Las URLs (Uniform Resource Locators) son un subconjunto de URIs que no solo identifican un recurso sino que también indican su ubicación.
- 🔑 En una solicitud HTTP, la primera línea es la request line, que contiene el método, el identificador del recurso y la versión del protocolo.
- 📝 Los métodos de HTTP son case sensitive y incluyen GET, POST, PUT, DELETE, entre otros, siendo los más utilizados para automatización POST, PUT y DELETE.
- 📥 Las respuestas HTTP incluyen una línea de estado (status line) con la versión del protocolo, un código numérico de estado y una frase textual descriptiva.
- 📈 Los códigos de estado de HTTP son de tres dígitos y definen la clase de respuesta: 1xx (informativas), 2xx (éxito), 3xx (redirección), 4xx (errores de cliente) y 5xx (errores de servidor).
- 🛠️ El protocolo HTTP es esencial para la comunicación con las APIs de dispositivos en proyectos de automatización de redes.
Q & A
¿Qué tutorial es este y qué tema aborda?
-Este es el tutorial número 23 de la serie de 'Tutoriales de Pablo Hidalgo', donde se aborda el tema del protocolo HTTP para ingenieros de redes.
¿Qué es el protocolo HTTP y qué función cumple?
-El protocolo HTTP es un protocolo de capa de aplicación que se utiliza para transferir datos a través de Internet. Es fundamental para el transporte de mensajes hacia y desde las APIs de los equipos de red que se desean administrar.
¿Desde cuándo se ha estado utilizando HTTP y cuál fue su primera versión?
-HTTP ha estado en uso desde la década de 1990. La primera versión conocida como HTTP 0.9 era muy sencilla y permitía la transferencia de datos básica a través de Internet.
¿Qué mejoras introdujo la versión 1.0 de HTTP y cuál fue su definición?
-La versión 1.0 de HTTP fue definida en el RFC 1945 en 1996 y mejoró el protocolo con respecto a la versión 0.9, aunque aún tenía muchas limitaciones.
¿Cuál fue la evolución de HTTP hasta llegar a la versión 1.1?
-La versión 1.1 de HTTP fue definida en el RFC 2068 en 1997 y luego actualizada en el RFC 2616 en 1999. Finalmente, en 2014, se actualizaron en los RFCs 7230 hasta el 7235.
¿Qué es un cliente HTTP y qué hace?
-Un cliente HTTP es un programa que genera solicitudes HTTP. Es responsable de enviar requests o solicitudes HTTP a un servidor.
¿Qué es un servidor HTTP y qué función desempeña?
-Un servidor HTTP es un programa que recibe las solicitudes HTTP (requests) y envía respuestas (responses) a estas solicitudes.
¿Qué son las URIs y para qué se utilizan?
-Las URIs, o Uniform Resource Identifiers, se utilizan para identificar recursos en general, como documentos electrónicos, imágenes, servicios como telefonía IP, videos, etc.
¿Cuáles son las diferencias entre URIs absolutas y URIs relativas?
-Las URIs absolutas siempre comienzan con un nombre de esquema seguido de dos puntos, mientras que las URIs relativas no especifican el esquema y la información de host.
¿Qué información proporciona un URL y cómo se diferencia de una URI?
-Un URL, o Uniform Resource Locator, es un subconjunto de URIs que no solo identifica un recurso sino que también proporciona información sobre dónde está ubicado ese recurso. Por ejemplo, un URL HTTP siempre usa el esquema http://.
¿Cómo se estructura una solicitud HTTP y cuáles son sus componentes principales?
-Una solicitud HTTP está compuesta por una línea de solicitud (request line) que incluye el método a ser invocado, el identificador del recurso (Request URI) y la versión del protocolo HTTP.
¿Cuáles son los diferentes métodos HTTP y cuál es su importancia?
-Los métodos HTTP son GET, POST, PUT, DELETE, OPTIONS y TRACE. Cada uno tiene un propósito específico, como recuperar información (GET), aceptar una entidad como nuevo miembro de un recurso (POST), almacenar una entidad bajo un URI específico (PUT), o eliminar un recurso (DELETE).
¿Qué contiene una respuesta HTTP y cómo se estructura?
-Una respuesta HTTP contiene una línea de estado (status line) que incluye la versión del protocolo, un código numérico de estado y una descripción textual del código. También puede incluir un encabezado (headers) y un cuerpo (body).
¿Qué significa el código de estado 200 en una respuesta HTTP y cómo se lee?
-El código de estado 200 en una respuesta HTTP indica que la solicitud fue satisfactoria y se ha completado con éxito. Se lee como 'OK', que significa que todo está correcto y la operación fue exitosa.
¿Cómo se clasifican los códigos de estado HTTP y cuáles son sus clases principales?
-Los códigos de estado HTTP son enteros de tres dígitos y se clasifican según el primer dígito: 1xx (informacionales), 2xx (éxito), 3xx (redirección), 4xx (errores de cliente) y 5xx (errores de servidor).
Outlines
😀 Introducción al Protocolo HTTP para Ingenieros de Redes
Este primer párrafo presenta el tema del tutorial, que es el estudio del protocolo HTTP desde la perspectiva de un ingeniero de redes. Se menciona que es el tutorial número 23 y se da una breve historia del protocolo HTTP, desde su versión 0.9 hasta la actualización de la versión 1.1 en 2014. Se destaca la importancia del protocolo HTTP para la automatización en redes y se describe el rol de un cliente y un servidor HTTP, así como la utilidad de los URIs (Uniform Resource Identifiers) y las URL (Uniform Resource Locators) para identificar y localizar recursos en la web.
📚 Estructura y Componentes de una Solicitud HTTP
En el segundo párrafo se examina la estructura de una solicitud HTTP, destacando las partes clave que la componen: el esquema (http://), el host (nombre de dominio o dirección IP), el puerto (que por defecto es el 80 para HTTP), y la ruta absoluta (ABS_PATH) que indica el recurso solicitado. Además, se aclaran los conceptos de URIs y URLs, y se explica que los nombres de host y el esquema son case insensitive, lo que significa que no distinguen entre mayúsculas y minúsculas. Se presentan ejemplos de solicitudes HTTP para ilustrar cómo se estructura la información en una solicitud.
🔧 Métodos HTTP y Su Aplicación en la Automatización
Este apartado se enfoca en los métodos HTTP, que son fundamentales para la automatización y la comunicación con APIs. Se describen los métodos GET, POST, PUT, DELETE y TRACE, y se destacan los métodos POST, PUT y DELETE, que son los más relevantes para la automatización. Se mencionan ejemplos de uso de estos métodos, como publicar mensajes en un news group o actualizar información en una base de datos. También se introduce el concepto de la línea de solicitud (request line), que incluye el método, el identificador del recurso y la versión del protocolo.
🤖 Códigos de Estado HTTP y sus Significados
El cuarto y último párrafo aborda los códigos de estado HTTP, que son números enteros de tres dígitos que proporcionan información sobre el resultado de una solicitud. Se explica la estructura de una línea de estado (status line) en una respuesta HTTP, que incluye la versión del protocolo, el código numérico de estado y una frase de razón textual. Se describen las clases de respuestas según el primer dígito del código de estado: 1xx (informacionales), 2xx (éxito), 3xx (redirección), 4xx (errores del cliente) y 5xx (errores del servidor). Se hace un paralelismo con los códigos de estatus utilizados en el protocolo SIP de telefonía IP. El párrafo concluye con una síntesis de los fundamentos del protocolo HTTP y su papel en la automatización de equipos.
Mindmap
Keywords
💡HTTP
💡Ingenieros de Redes
💡APIs
💡URI
💡URL
💡Request
💡Response
💡Métodos HTTP
💡Códigos de Estatus
💡Automatización
Highlights
Tutorial de Pablo Hidalgo sobre el protocolo HTTP para ingenieros de redes.
Continuación de la serie de tutoriales de automatización para ingenieros de redes.
Introducción al protocolo HTTP como elemento central para transportar mensajes a través de APIs.
Breve historia del protocolo HTTP desde su primera versión en la década de 1990.
Mejoras en las versiones 1.0 y 1.1 de HTTP y su definición en los RFC 1945 y 2068 respectivamente.
Actualización de HTTP/1.1 en los RFCs 7230 a 7235 en el año 2014.
Definición de cliente y servidor HTTP en el contexto del protocolo.
Explicación de U.R.I. (Uniform Resource Identifier) y sus tipos absolutos y relativos.
Diferenciación entre URIs y URLs (Uniform Resource Locators).
Estructura de un URI, incluyendo esquema, host, puerto y ruta de acceso.
Importancia de la mayúscula y minúscula en los nombres de esquema y métodos HTTP.
Descripción de los métodos HTTP GET, POST, PUT, DELETE y TRACE.
Uso del método GET para solicitar información identificada por un recurso.
Funcionalidad del método POST para enviar datos a un servidor.
Método PUT para actualizar o almacenar una entidad bajo un URI específico.
Método DELETE para solicitar la eliminación de un recurso en el servidor.
Análisis de la estructura de un request HTTP, incluyendo el request line y los headers.
Descripción de los responses HTTP y su estructura, incluyendo el status line.
Explicación de los códigos de estado HTTP y sus clases, desde 1xx hasta 5xx.
Conclusión sobre la importancia del protocolo HTTP en la automatización de equipos de red.
Transcripts
bienvenidos a tutoriales de Pablo Hidalgo en este tutorial número
23 tocaré el tema de protocolo http para ingenieros de redes
continuando con la serie de tutoriales donde estoy tocando los temas de automatización para
ingenieros de redes ya hemos cubierto parte de las herramientas que vamos a requerir
incluyendo conceptos de automatización y APIs que los estudiamos en el tutorial número 20,
instalación de Python para windows que pueden encontrarlo en el tutorial número 21,
XML el cual pueden localizarlo en el tutorial número 22
en el presente vídeo vamos a ver una pieza muy importante que es
el protocolo que transportará los mensajes hacia y desde las
APIs de los equipos que nos interesa administrar y ese protocolo es http
un poco de historia de http: http es un protocolo de capa de aplicación
ha estado en uso desde la década de 1990, la primera versión que se conoció como http 0.9
era un protocolo muy sencillo que permitía la transferencia de datos a través de la internet
http versión 1.0 fue definida en el RFC 1945 del año 1996 y
mejoró el protocolo pero todavía presentaba muchas limitaciones
http versión 1.1 fue definido en el RFC 2068 del año 1997 y luego fue actualizado en el RFC 2616
del año 1999, finalmente en el año 2014 http 1.1 fue actualizado en los RFCs 7230 hasta el rfc 7235
un cliente http el cual está aquí ilustrado como una computadora a
la izquierda del dibujo, es un programa que genera request o solicitudes de http
un servidor http será aquel programa que recibe los request o solicitudes
y envía responses o respuestas a estas solicitudes
en este caso el servidor http está ilustrado a la derecha del dibujo
U.R.I o URIs que son las siglas en inglés de uniform resource identifier se utilizan
para identificar recursos en general, ejemplos de recursos pueden incluir un documento electrónico,
una imagen, un servicio como telefonía ip, un vídeo etcétera
tenemos dos tipos de URIs: URIs absolutos y también tenemos URIs relativos,
los URIs absolutos siempre comienzan con un nombre
de esquema o scheme como está ahí en inglés seguido por dos puntos
el URI http://10.0.0.1 que están viendo una pantalla es un URI absoluto, noten que comienza
con un nombre de esquema seguido de dos puntos otro ejemplo de URI absoluto, en este caso tenemos
sip:[email protected], noten que el URI es absoluto porque comienza con un nombre de esquema seguido
por dos puntos, en este tercer ejemplo tenemos un URI absoluto que se utiliza para el protocolo ftp
con el objetivo de evitar confusiones quiero presentarles también el concepto de url uniform
resource locator, los urls son en realidad un subconjunto de URIs que tienen un caso
muy específico que es que además de identificar un recurso brindan información sobre dónde está
ubicado ese recurso, para el caso de http los urls de http siempre usarán el esquema http:
tenemos en pantalla un ejemplo de un url o más correctamente dicho de un URI de http
este URI, aproveché para colocar en colores las tres partes importantes que deseo analizar,
primero comienza con el nombre del esquema http:// host es el nombre de
dominio o la dirección ip del servidor donde se ubica el recurso que estamos solicitando
:port que es opcional, indica el puerto de capa 4 o capa de transporte al que está dirigido
esta solicitud, si no se indica se asumirá que para http el puerto será TCP puerto 80
/ABS_PATH significa el camino absoluto o el URI que indica cuál es el recurso
que estamos solicitando en ese host específico,
si ustedes ponen atención notarán que todas las llamadas de http siempre que cumplen este esquema
los nombres de joe se consideran case insensitive quiere decir que no importa si se escriben en
mayúsculas o en minúscula de igualmente el esquema también es case insensitive por lo
que dará lo mismo escribir http en minúscula que en mayúscula tengo a continuación unos ejemplos
http en minúscula example puntocom 280 esto es lo mismo que escribir example puntocom en
mayúscula el nombre del holtz se considera case insensitive por eso da lo mismo escribirlo en
mayúsculas que en minúsculas noten que en el tercer ejemplo además de que se escribió con
mayúscula example puntocom no se indicó el puerto no dice dos puntos 80 por lo
tanto como el esquema es http se asumirá que éste cp puerto 80 cuando no se indica
los request de http los cuales vimos que son generados por los clientes http siempre tendrá
en su primera línea lo que se llama el request line este request line siempre contendrá el método
a ser invocado ya vamos a ver a continuación cuáles son los métodos disponibles para el
protocolo http seguido de que el identificador del recurso o la palabra en inglés request uri
y finalmente siempre indicará la versión del protocolo aunque pueda parecer redundante
vamos a ver un ejemplo de un request para el método que no hemos visto todavía con detalle
me interesa analizar sobre todo la primera línea la que se llama el request line noten que esta
primera línea primero comienza con el método en este caso es el método get seguido del request
uri que es la indicación del recurso del cual necesitamos hacer un procesamiento y finalmente
siempre estará indicada la versión del protocolo en este caso https las 1.1 el resto de las líneas
que están viendo luego las veremos más adelante cuando necesitemos analizar su significado por
ahora me interesa que haya quedado claro solamente la primera línea a la que se llama request line
tanto los request como los responses de http pueden opcionalmente contener
un anti ti o una entidad esté en tití o entidad consistirá de en
tití heather o encabezados seguido de un anti tipo de cuerpo cuando sea necesario
estamos viendo en este caso un response http 200 en este caso este response incluye un en tití el
en tití se notará porque contiene el encabezado content type el encabezado contenta define
cuál es la información que está contenida en el body o el cuerpo del ente está contenta y puede
indicar cosas tan diversas como una fotografía en formato jpg puede ser un vídeo puede ser un texto
los nombres de los métodos de http son case sensitive o sea que en este caso sí es muy
importante que sean en mayúscula tenemos los diferentes métodos como el método options guetta
post put delete y trace noten que en color azul indique los métodos que post put y delete que son
los que me voy a concentrar a continuación porque son los que vamos a utilizar para
comunicarnos con las apis de los equipos con los que queremos establecer automatización
empecemos con el método get el método que se utiliza para
solicitar o recuperar información la cual va a ser identificada por el ricoh es ahora
estamos repitiendo este ejemplo que lo vimos hace unos minutos atrás es
de nuevo el ejemplo de un método get vamos a recordar que la primera línea que se llama
el request line siempre va a tener como primer indicador el método en este caso
es get noten que el método si tiene que ser en mayúscula seguido del request uri en este caso
para un get el ricoh es ir y identifica el recurso que queremos solicitar o recuperar
no se olviden que siempre va a estar indicada además la versión del protocolo
el siguiente método que vamos a estudiar es el método post este método se utiliza para solicitar
que el servidor http acepte la entidad o en tití que va a estar contenida en el request como un
nuevo miembro del recurso que es identificado por el request y voy a brindar a continuación unos
ejemplos para ayudar a aclarar esta definición pous se utiliza para realizar las siguientes
funciones por ejemplo colocar mensajes nuevos en un news group proveer bloques de datos a un
proceso que se encarga de administrar información a agregar información a una base de datos en una
operación de apple estos son solo algunos de los ejemplos donde utilizaremos el método post de http
el método put solicita que la entidad incluida en el request sea almacenada bajo el request
uri indicado si el request uri que se indica en el método put ya existiera
entonces se considera que la entidad es una versión modificada dicho en otras palabras el
método put nos va a servir cuando necesitemos actualizar o hacer una operación de update
finalmente el método delete
solicita que el servidor borre el recurso que sea identificado por el request uri
vamos a hablar ahora de los responses 7 p la primera línea de un response se llama
status line el status line o línea de estatus siempre va a contener la
versión del protocolo un código numérico de estatus ya vamos a ver algunos ejemplos
de códigos seguido de una descripción textual de ese código o frase de razón
les presenta a continuación un ejemplo de un response 200 la primera línea de un
responso recordemos que se llama el status line y siempre va a contener la siguiente
información primero la versión del protocolo noten que en este caso es al inverso de un
request enrique es la versión va de último en cambio en un response la versión va de primero
seguido de un estatus con código numérico que nos identifica cuál es esta respuesta seguido
finalmente de una frase textual que corresponde con el código que estamos recibiendo en este caso
podríamos decir que el número o el código 200 es para el equipo y que la frase ok es para el ser
humano para ayudarnos a nosotros a reconocer cuál es este response que estamos viendo
los códigos de estatus o estatus colts son enteros de tres dígitos de tamaño el primer
dígito define la clase de respuesta todas las respuestas que comienzan como un 1 o
sea todas las que sean ciento y dos dígitos se llaman informacionales todas las respuestas que
comiencen con un 2 se denominan success o éxito las respuestas 300 se llaman redirección 400
identifica errores de cliente 500 identifica errores de servidor no sé si notaran para
aquellos de ustedes que han estudiado los tutoriales del protocolo zip de telefonía
ip que justamente son los mismos códigos de estatus que utilizamos en el protocolo cip
conclusión les hice una exposición de los fundamentos del protocolo http incluyendo
los conceptos de request métodos responses y raspones code este protocolo lo utilizaremos
como medio de transporte para poder enviar y recibir mensajes hacia las
apis de los diferentes equipos que deseamos automatizar muchas gracias por su atención
Browse More Related Video
⭐PROTOCOLO HTTP 🖥️ Requests y Responses con: GET, POST, PUT, PATCH y DELETE | DESARROLLO WEB 🌎
Introducción a la navegación WEB - URL - HTTP - HTML
Qué es una REST API y cómo funciona | La mejor explicación en español, para principiantes ✅
Curso de Redes 1.5. El modelo TCP/IP y su arquitectura.
Qué son los protocolos de internet
CURSO de REDES 2020 para PRINCIPIANTES # 5 📡 EL modelo TCP/IP
5.0 / 5 (0 votes)