¿Qué es HTTP y cómo lo utilizamos en el front-end?
Al desarrollar aplicaciones web, entender cómo manejar peticiones HTTP es fundamental para la comunicación entre el front-end y los servidores. HTTP (Hypertext Transfer Protocol) es el protocolo que permite realizar solicitudes de datos y enviar información entre clientes y servidores. En la práctica, se emplean métodos HTTP mediante la función fetch en JavaScript para interactuar con APIs.
¿Cómo funcionan las peticiones con fetch?
Cuando utilizamos fetch, estamos solicitando a un servidor que nos proporcione información que luego podemos manejar y mostrar en el DOM. Mediante fetch, hacemos un pedido a una API, que a menudo nos devuelve datos en formato JSON. Usar fetch es una manera de realizar peticiones HTTP de forma asíncrona, lo que nos permite mejorar la experiencia del usuario al cargar datos sin interrumpir el flujo de la aplicación.
Este código realiza una solicitud GET a una API de ejemplo que devuelve información ficticia.
¿Qué significan los códigos de estado HTTP?
Al realizar peticiones HTTP, es crucial interpretar los códigos de estado que las acompañan, ya que nos indican el resultado de la operación solicitada:
200 OK: La solicitud se ha realizado con éxito.
404 Not Found: El recurso solicitado no ha sido encontrado.
500 Internal Server Error: Ha ocurrido un error en el servidor.
Conocer estos códigos nos ayuda a diagnosticar problemas y comprender la comunicación entre el cliente y el servidor.
¿Cómo verificar solicitudes y respuestas en el navegador?
El navegador ofrece herramientas de desarrollo que facilitan el monitoreo de las solicitudes HTTP. La pestaña "Network" nos permite observar:
Las solicitudes a HTML, JavaScript y CSS.
La URL a la que se realiza la petición.
El estado de la respuesta obtenida, como un 200 OK.
La velocidad de carga de los recursos.
Accediendo a la pestaña "Network", podemos determinar el éxito de nuestras solicitudes y entender qué ocurre con cada petición que se realiza, fortaleciendo nuestros conocimientos sobre el manejo de datos en aplicaciones web.
Ejemplo práctico de interacción con una API
Imaginemos que estamos generando información a partir de una API utilizando fetch. Podemos desglosar y trabajar con la información regresada para, por ejemplo, obtener detalles de usuarios y mostrarlos en nuestra aplicación.
Al ejecutar fetch, se consulta a la API y, mediante promesas (then), manejamos la respuesta. Si la petición es exitosa, se obtiene un objeto JSON con los datos:
fetch('https://jsonplaceholder.typicode.com/posts').then(response=> response.json()).then(data=>{// Se procesa la data para mostrar títulos, usuarios, etc. data.forEach(post=>{console.log(post.title);});});
Esta estructura básica demuestra cómo podemos extender las funcionalidades de fetch para adecuarlas a las necesidades de nuestra aplicación.
La comprensión de HTTP y fetch nos proporciona el control sobre las interacciones del front-end con el servidor, permitiéndonos optimizar el proceso de desarrollo y brindando una experiencia de usuario más eficiente y dinámica. ¡Sigue explorando y experimentando con diferentes escenarios para ampliar tus habilidades!
!Pin de Magaly Villanueva en Momazos | Memes, Memes perrones, Plantillas para memes
Buenas, no veo en la sección de recursos los archivos de HTML y CSS que el profesor menciona en el vídeo.
te metes a
Recursos
Lecturas Recomendadas
GitHub-platzi/basico-js
asíncronia-js
POSTRequest
y ahí encontraras el index.html
¿Como funciona HTTP
HTTP funciona de la siguiente manera:
1. El cliente (navegador web) envía una solicitud HTTP al servidor.
2. El servidor recibe la solicitud y la procesa.
3. El servidor devuelve una respuesta HTTP al cliente.
4. El cliente recibe la respuesta y la procesa.
5. El cliente muestra la respuesta al usuario.
No es mi intención ser grosero ni nada por el estilo, pero creo que el Profe Diego es muy difícil de entender... creo que necesita estructurar mejor sus ideas.
puede ser... pero lo defiendo en este caso, al ser un tema tan complejo ;'(
Se... y no, la verdad es que este tema hasta podría tener su propio curso debido a que el manejo del network en la consola si es algo que hay echarse un clavado para entenderle de mejor manera, te lo digo por experiencia que ni sabia que eso existía la primera vez que me encargaron checar eso jaja, viendo el vídeo de esta clase la verdad el profe Diego si se explico muy bien, nada más tomate el tiempo de verlo con detalle
Una API (Interfaz de Programación de Aplicaciones) no es el servidor en sí, sino un conjunto de reglas que permite que diferentes aplicaciones se comuniquen entre sí. El servidor es el lugar donde se aloja la API y puede enviar o recibir datos. Cuando haces una petición a una API, el servidor procesa esa solicitud y devuelve los datos que necesitas. Así que, en resumen, la API actúa como intermediario para facilitar la comunicación entre tu aplicación y el servidor.
¿Qué son los HTTP Status Codes?
Son la forma en la que el protocolo http nos dice como va nuestra solicitud, si hubo algún error de nuestra parte o de parte de la base de datos
Los status code van del 100 hasta el 500
Los del 200 significan que tanto frontend como backend estan bien, la solicitud va bien.
Si es un 201 o 202 puede ser que el backend o la API nos este especificando cual fue el tipo de éxito que tuvimos o si aun esta en proceso la solicitud
Los 300 significan redirects, la ruta a la que estamos entrando no es la ruta final sino que el backend hace un redirect hacia alguna otra ruta y simplemente te muestra que la solicitud esta realizada pero no si esta bien o mal
Un 307 significa que el redirect es temporal, no sabemos si en el futuro esa ruta a la que nos esta re dirigiendo será la misma o la cambiaran
Un 308 es el backend indicando que siempre sera esa ruta por la que hará el redirect
Los 400 significan que nosotros nos equivocamos, el frontend hizo una solicitud incorrecta o un typo en sintaxis o en ruta
Un 401 significa que la ruta, el endpoint no funciona tal cual sino que debemos hacer un paso de autenticación y no estamos autorizados para recibir esa información
Un 402 significa que necesitamos pagar para poder entrar y recibir esa información
Un 404 significa que lo que estamos solicitando no existe
Si es 500 significa que no sabemos si el front esta bien pero el backend fallo y existen muchas razones por las que el back falla, podría ser el exceso de solicitudes que no alcanza a cubrir el back y el tiempo de front termina y manda ese error o que muera el back y en caso de que muera, el front no tiene manera de remediarlo.
Mis notas:
Te falto poner el html y el css en los recursos de la clase
Estan en los recursos Lecturas recomendadas, GitHub - platzi/basico-js en la carpeta asincronia-js