HTTP (Hypertext Transfer Protocol), en español: Protocolo de Transferencia de Hipertexto, es el protocolo por excelencia de transferencia para el hipertexto. Por lo tanto, es el enlace de normas para transportar archivos de texto, imágenes, gráficas, sonido, video y otros tipos de archivos multimedia que pueden ser consumidos en la World Wide Web.
Desde el primer momento en que abres el navegador de tu preferencia, estás consumiendo este protocolo, ya que el navegador es un consumidor HTTP, que envía solicitudes a diferentes servidores y retorna la respuesta de estos al usuario final, o sea tú o cualquier persona que navegue en internet.
Qué es HTTP
Es un protocolo de comunicación entre aplicaciones basado en el intercambio de texto. El protocolo HTTP es el que impulsa todo internet. Los navegadores web utilizan este protocolo para solicitar páginas web a los servidores. El servidor devuelve todos los datos necesarios en código HTML para que puedan mostrarse en el navegador.
Qué es un protocolo
Es conjunto de reglas en las que se van a comunicar dos entidades, en este caso dos computadoras. El modelo TCP/IP nos permite esta comunicación entre computadoras.
Cómo funciona el protocolo HTTP
Así como los humanos nos comunicamos a través del lenguaje, las computadoras se pueden comunicar a través de HTTP gracias al modelo de TCP/IP.
Las reglas principales de HTTP se suelen definir por los headers, que se dividen en dos grupos: los headers de petición y los headers de respuesta:
Header request (petición)
Suelen estar definidos por el método de petición, hacia donde se hará el request, y la información que enviará la petición.
Header response (respuesta)
Suele estar definido principalmente por la respuesta del servidor y también por las características de la respuesta.
**Así funciona el protocolo HTTP:
El cliente envía una petición, se transmite por internet.
El servidor recibe la petición y genera una respuesta, la envía.
El cliente recibe la respuesta (y si estamos en el navegador, interpreta lo recibido).
Características del protocolo HTTP
Las características principales del protocolo HTTP son:
1. Conexión única
Desde la versión 2.0 de HTTP, este usa una conexión única para generar múltiples solicitudes y respuestas en paralelo, lo cual a la hora de procesar las solicitudes genera una eficiencia mayor en la respuesta.
2. Elimina la información redundante
Al eliminar la información redundante se busca evitar el envío de datos repetidos durante una misma conexión, así se consigue un menor consumo de recursos y, por lo tanto, se obtiene una menor latencia.
3. Tiene multiplexación
Al ser un protocolo multiplexado, puede enviar y recibir varios mensajes al mismo tiempo, optimizando la comunicación. Esta característica mejora considerablemente la velocidad de carga.
4. Es un protocolo binario
HTTP trabaja mediante tramas y al ser un protocolo binario facilita encontrar el comienzo y el final de cada frame, lo cual al ser un protocolo de texto podría llegar a ser complicado de identificar. Adicionalmente, los protocolos binarios son más simples, por lo que tienden a ser menos propensos a errores.
5. Servicio server push
Este servicio de HTTP se basa en estimaciones con las que el servir es capaz de enviar información al usuario antes de que esta sea solicitada para conseguir que la información esté disponible de forma inmediata.
6. Compresión de cabeceras
En versiones anteriores, dados los requerimientos de las solicitudes, las cabeceras tenían un tamaño considerable, lo cual aumentaba el tiempo para obtener respuestas. A partir de la versión 2.0 las cabeceras empezaron a ser comprimidas para mejorar la eficiencia en la respuesta haciendo uso de un algoritmo simple y poco flexible llamdo HPACK.
7. Priorización de flujos
Un mensaje HTTP se puede dividir en múltiples fragmentos al ir desde el cliente hasta el servidor o viceversa y el orden en que lleguen a su destino es fundamental, es por eso que a cada flujo de le puede asignar un peso que va desde 1 hasta 256 y una dependencia. Haciendo uso de las prioridades y dependencias el protocolo crea un árbol de prioridades para los mensajes y solicitudes.
Ejemplo de protocolo HTTP
Para este ejemplo, vamos a emplear la terminal de comandos de tu computador. Si tienes Windows, puedes encontrarla simplemente buscando "CMD" en la barra de búsqueda de Windows.
Ya dentro de la terminal, vamos a usar el comando curl:
curl https://platzi.com
Al ejecutar el comando, estamos enviando una solicitud HTTP al servidor, que nos enviará todo el código HTML del sitio web. Si queremos ver solamente los encabezados, usamos el modificador -v
curl https://platzi.com-v
Utilizamos redirección (>) para no observar todo el HTML. Acá tenemos una redirección de salida
curl https://platzi.com-v >/dev/null
Contribución creada con los aportes de: Jose Daniel Barría Reyes, Alex Camacho y Angel de Jesus Quintero Pereira
MIN 5:26
el profesor envia la info que arroja el comando a un archivo que acepta la informacion pero no la guarda por eso lo llaman agujero negro pero si estas usando windows puedes sustituir el -[ /dev/null ]- por nul que es la equivalencia en los sistemas operativos de la ventanita.
.
el comando quedaria asi: curl -v https://platzi.com > nul
Gracias, excelente aporte :D
Gracias, que buen aporte
HTTP (Hypertext Transfer Protocol) : protocolo de comunicacion entre aplicaciones. basado en el intercambio de texto
Protocolo: conjunto de reglas en las que se van a comunicar dos entidades, en este caso dos computadoras
El modelo TCP/IP nos permite esta comunicacion entre computadoras
Como funciona el protocolo:
1.El cliente envia una peticion,se transmite por internet
2.El servidor recibe la peticion y genera una respuesta, la envia
3.El cliente recibe la respuesta (y si estamos en el navegador interpreta lo recibido )
Se utilizo el comando curl :
curl https://platzi.com
y recibimos todo el html del sitio, luego usamos el comando -v y la redireccion
-v ver los encabezados
utilizamos redireccion(>) para no observar todo el html
Buen resumen alero! gracias
Gracias, que buen aporte
Al igual que una API, HTTP es un conjunto de reglas que permiten la comunicación efectiva entre dos entidades, en este caso, HTTP (HyperText Transform Protocol) es el intermediario entre dos computadores, entre un cliente y un servidor.
Las reglas principales de HTTP se suelen definir por los headers, que se dividen en dos grupos, los headers de petición y los headers de respuesta:
Header request: Suelen estar definidos por el método de petición, hacia donde se hará la petición y que información enviara la petición.
Header response: Suele estar definido por la respuesta principalmente del servidor, también por las características de la respuesta, como su tipo de respuesta
para los que aun no conozcan Windows Subsystem Linux (WSL) vean el curso de Prework de la escuela de JS
Api = Aplication, Programming Interface , interfas de programacion de aplicaciones.
que es http = protocolo de comunicacio que por sus siglas en ingles Hypertext Transfer Protocol O PROTOCOLO DE TRANFERENCIA DE HIPER TEXTO
PETICIONES EN TERMINAL
curl https://platzi.com
se recibe todo el html del sitio
Solo encabezados
curl -v https://platzi.com
verificamos los encabezados que se intercambian
los que inicias con el signo mayor son los que se envian los que inicia con menor son los que regresa
HTTP es ahí donde inicia todo.
3. Qué es y cómo funciona el protocolo HTTP
++¿Qué es http?++
HTTP son las siglas de Hypertext Transfer Protocol o protocolo de transferencia de hipertexto, es el conjunto de reglas en las que se van a comunicar dos entidades, en este caso dos computadoras.
++¿Cómo funciona http?++
Así como nosotros nos comunicamos en español gracias a poder mover las cuerdas vocales, producir y escuchar sonidos, las computadoras se pueden comunicar a través de HTTP gracias al modelo de TCP/IP.
Las reglas principales de HTTP se suelen definir por los headers, que se dividen en dos grupos, los headers de petición y los headers de respuesta:
Header request:
Suelen estar definidos por el método de petición, hacia donde se hará la petición y que información enviara la petición.
Header response:
Suele estar definido por la respuesta principalmente del servidor, también por las características de la respuesta, como su tipo de respuesta
En el navegador chrome, en la pestaña de network dentro del inspector se puede visualizar al ingresar en platzi todas las peticiones
++Visualizar peticiones y encabezados a tráves de la terminal++
curl https://platzi.com visualizar las peticiones
curl https://platzi.com-v
visualizar las peticiones pero solamente los encabezados
curl https://platzi.com-v >/dev/null visualizar las peticiones pero solamente los encabezados y redireccionando la salida
El archivo /dev/null ( en sistemas operativos tipo Unix)
/dev/null es un archivo especial que recibe la información que se redirige hacia el , pero no la almacena. solo la muestra en terminal y luego la borra o descarta.
No sabia que se podia hacer eso en la terminal con el comando curl.
HTTP: Hyper Text Transfer Protocol, es como el "idioma" que usan las computadoras para transferir mensajes, esto se basa en petición/respuesta, todo lo que nos responde el servidor lo podemos inspeccionar desde la consola de desarrollo en la pestaña Network y el navegador se encarga de pintar e interpretar esa respuesta
ya hay un curso fundamental sobre Redes, ¿se extenderá a una carrera de redes?
Es posible, qué te gustaría ver en una carrera de redes?
A mi me encantaria ver una carrera de redes, ingenieria de software y computer science en platzi.
En Windows para traer los encabezados
curl --head https://platzi.com
Hace tiempo esperaba ver un curso del uso de REST u otro web service, aunque ahora ya entiendo con aproximación como funcionan, se agradece tener contenidos como este.
:O Me ha estallado la cabeza Tio ... esto es Hermoso
Protocolo:conjunto de reglas que definen como se hará la comunicación entre dos entidades.
Así como nosotros nos comunicamos en español gracias a poder mover las cuerdas vocales, producir y escuchar sonidos, las computadoras se pueden comunicar a través de HTTP gracias al modelo de TCP/IP
HTTP no son mas que unas sencillas reglas que le dice a las aplicaciones como compartir información(datos)
Para instalar cURL en Windows utilizando Chocolatey, puedes hacerlo de la siguiente manera:
Abre una ventana de PowerShell como administrador.
Ejecuta el siguiente comando para instalar Chocolatey si aún no lo tienes instalado:
Este comando descargará e instalará Chocolatey en tu sistema.
Una vez que Chocolatey esté instalado, puedes instalar cURL con el siguiente comando:
choco install curl
Sigue las instrucciones en pantalla para completar la instalación de cURL.
Después de ejecutar estos comandos, cURL debería estar instalado en tu sistema Windows a través de Chocolatey. Puedes verificar que se haya instalado correctamente ejecutando el siguiente comando: