Platzi
Platzi

¡Invierte en ti y celebremos! Adquiere un plan Expert o Expert+ a precio especial.

Antes: $349
$259
Currency
Antes: $349
Ahorras: $90
COMIENZA AHORA
Termina en: 9D : 2H : 33M : 1S

Debes iniciar sesión

Para ver esta clase crea una cuenta sin costo o inicia sesión

Curso de Postman

Curso de Postman

Eduardo Álvarez

Eduardo Álvarez

Estudiando el protocolo HTTP, verbos y status

2/17

Un protocolo especifica reglas en la comunicacion entre dos entes, en este caso entre dos computudoras.

HTTP (Hyper Text Transfer Protocol) fue creado especificamente para la web.

Una de las cosas que especifica el protocolo HTTP son los verbos:

  • GET: solicitar datos o algun recurso.
  • HEAD: traer headers (como una peticion GET pero sin contenidos). Es util cuando vamos a utilizar APIs, para comprobar si lo que vamos a enviar esta correcto y puede ser procesado.
  • POST: enviar datos a un recurso para la creación.
  • PUT: reemplazar por completo un recurso.
  • PATCH: reemplazar parcialmente un recurso.
  • DELETE: eliminar un recurso.

Otra de las cosas que especifica el protocolo HTTP son los codigo de estado (status codes). Sirven para describir el estado de la peticion hecha al servidor.

  • 1xx: Indican que la peticion fue recibida y el servidor sigue trabajando en el proceso, es decir, no fue exitosa ni fue errónea, sino que esta siendo procesada aun.
  • 2xx: Indican que la peticion fue recibida y procesada correctamente.
  • 3xx: Indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos codigos indican redireccion. Generalmente en los APIs no se usan redirecciones porque no contienen estados, es decir, toda la informacion esta contenida en una solicitud, no se guarda un estado en el servidor con una sesion por ejemplo.
  • 4xx: Indican errores del lado del cliente, por ejemplo: se hizo mal la solicitud, faltan datos, headers o cualquier otro error que pueda ocurrir.
  • 5xx: Indican errores del servidor. Suelen aparecer cuando existe un fallo en la ejecución en el servidor.

Los codigos mas comunes a la hora de interactuar con un API son:

  • 200: Todo esta OK.
  • 201: Todo OK cuando se hizo una solicitud POST, el recurso se creo y se guardo correctamente.
  • 204: Indica que la solicitud se completo correctamente pero no devolvio informacion. Es muy comun cuando se hacen peticiones con el verbo DELETE.
  • 400: Bad Request, algo esta mal en la peticion. Se nos olvido enviar un dato o algo relacionado. Por lo general la respuesta nos especifica cuales fueron los errores a la hora de hacer la peticion.
  • 401: Unauthorized, es decir, no estamos autorizados (autenticados) a realizar la peticion.
  • 403: Forbidden, yo no tengo acceso a ese recurso aunque este autenticado.
  • 404: Not Found, no existe el recurso que se esta intentando acceder.
  • 500: Interna Server Error, es un error que retorna el servidor cuando la solicitud no pudo ser procesada. Por lo general, si no tenemos acceso al backend, no tenemos control sobre los errores 500 que retorna un API.

Me gusta mucho esta página que describe muy bien todos los códigos http https://http.cat/

Códigos de estado HTTP
Sirven para describir el estado de la petición.

1xx: Esto indica que la petición fue recibida y esta siendo procesada.
2xx: La solicitud fue completada correctamente.
3xx: Indica que hay acciones adicionales que se deben de hacer, por lo general se utilizan en las redirecciones.
4xx: Errores del cliente. Indica que se realiza una solicitud errónea.
5xx: Errores del servidor. Indica que el servidor presenta un error.

Errores más comunes

200: La petición fue correcta.
201: Es el estado cuando la solicitud Post fue correcta.
204: La solicitud fue procesada correctamente pero no devuelve información.
400: Bad request, la solicitud no es correcta.
401: Authorized, indica que se debe de realizar una autenticación antes de realizar una petición.
403: Forbidden: No se tiene acceso al recurso aunque se esté autenticado.
404: Not Found, el recurso no fue encontrado.
500: Internal Server Error, el servidor indica que la solicitud no pudo ser procesada.

Códigos más usados

1. 200: Todo bien
2. 201: solicitud POST se ejecutó correctamente.
3. 204: Solicitud ejecutada correctamente y no devuelve información. Por ejemplo, al ejecutar el verbo DELETE.
4. 400: bad request, por ejemplo, falta información.
5. 401: No estar autenticado.
6. 403: Forbidden. No tener aceeso a un recurso.
7. 404: No existe el recurso. Not found.
8. 500: La solicitud no pudo ser ejecutada.

Pequeñas infografías para quienes les gusta una ayuda visual:


Verbos HTTP
Get: Solicitar datos o algún recurso.
Head: traer headers, como una petición Get pero sin contenido.
Post: Enviar datos a un recurso para la creación.
Put: Reemplazar por completo un recurso.
Patch: Reemplazar parcialmente un recurso.
Delete: Eliminar un recurso.

Mas errores de cliente

  1. 414 URI Too Long
    La URI solicitada por el cliente es más larga que el servidor está dispuesto a interpretar.
  2. 415 Unsupported Media Type
    El formato multimedia de los datos solicitados no está soportada por el servidor, por lo cual el servidor rechaza la solicitud.
  3. 416 Requested Range Not Satisfiable
    El rango especificado por el campo de encabezado Range en la solicitud no cumple; es posible que el rango está fuera del tamaño de los datos objetivo del URI.
  4. 417 Expectation Failed
    Significa que la expectativa indicada por el campo de encabezado Expect solicitada no puede ser cumplida por el servidor.
  5. 418 I’m a teapot
    El servidor se reúsa a intentar hacer café con una tetera.
  6. 421 Misdirected Request
    La petición fue dirigida a un servidor que no es capaz de producir una respuesta. Esto puede ser enviado por un servidor que no esta configurado para producir respuestas por la combinación del esquema y la autoridad que estan incluidos en la URI solicitada
  7. 422 Unprocessable Entity (WebDAV)
    La petición estaba bien formada pero no se pudo seguir debido a errores de semántica.
  8. 423 Locked (WebDAV)
    El recurso que está siendo accedido está bloqueado.
  9. 424 Failed Dependency (WebDAV)
    La petición falló debido a una falla de una petición previa.
  10. 426 Upgrade Required
    El servidor se reúsa a aplicar la solicitud usando el protocolo actual pero puede estar dispuesto a hacerlo después que el cliente se actualize a un protocolo diferente. El servidor envía un encabezado Upgrade en una respuesta para indicar los protocolos requeridos.
  11. 428 Precondition Required
    El servidor origen requiere que la solicitud sea condicional. Tiene la intención de prevenir problemas de ‘actualización perdida’, donde un cliente OBTIENE un estado del recurso, lo modifica, y lo PONE devuelta al servidor, cuando mientras un tercero ha modificado el estado del servidor, llevando a un conflicto.
  12. 429 Too Many Requests
    El usuario ha enviado demasiadas solicitudes en un periodo de tiempo dado.
  13. 431 Request Header Fields Too Large
    El servidor no está dispuesto a procesar la solicitud porque los campos de encabezado son demasiado largos. La solicitud PUEDE volver a subirse después de reducir el tamaño de los campos de encabezado solicitados.
  14. 451 Unavailable For Legal Reasons
    El usuario solicita un recurso ilegal, como alguna página web censurada por algún gobierno.

Las respuestas por parte de HTTP nos retorna estados / códigos de respuesta:
1XX: Fue recibida pero esta siendo procesada aun.
2XX: Indica que la petición fue recibida, aceptada y procesada.
3XX: Indica que se deben tomar acciones para completar la solicitud, o redirección.
4XX: Son errores del Cliente (Puede ser retornado por el Backend), mal solicitud, etc.
401: No autorizado
403:Sin acceso al recurso
404:Recurso no encontrado.
5XX: Errores en el servicio y/o el servidor.
https://uniwebsidad.com/tutoriales/los-codigos-de-estado-de-http

Notas de la clase.
Un protocolo especifica reglas en la comunicación, en este caso, entre dos computadoras.
Los verbos HTTP implican acciones
GET: Solicitar datos o algun recurso.
HEAD: Traer headers, como una petición GET pero sin contenido.
POST: Enviar datos a un recurso para la creación.
PUT: Reemplazar por completo un recurso.
DELETE: Eliminar un recurso.

HTTP Status Code: Los codigos de estado sirven para describir el estado de la petición hecha al servidor.
Los estado 1xx: Indican que la petición fue recibida y el servidor sigue trabajando en el proceso.
Los estados 2xx Indica que la peticion fue recibida, aceptada y procesada correctamente.
Los estados 3xx Indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos códigos indican redirección.
Los estados 4xx Indican errores del lado del cliente. Indica que se hizo mal una solicitud, faltan datos, headers o cualquier otro error que puede ocurrir.
Los estados 5xx Indican errores del servidor. Indica que fallo completamente la ejecución de una petición.

Los codigos mas usados son los siguientes:
200: Todo esta bien, este es el status que se retorna cuando una solicitud GET esta correcta y toda la información me la trajo correctamente.
201: una solicitud Post fue hecha correctamente el recurso se creo y se guardo.
204: La solicitud se proceso correctamente pero no nos devuelve información.
400: Es un bad request, algo esta malo con nuestra solicitud, por lo general nos especifica cuales fueron los errores que tuvimos.
401: Significa un Autorized, lo que significa que antes de poder hacer una solicitud tenemos que autenticarnos con el servidor.
403: Significa que no tengo acceso a ese recurso aunque este autenticado
404: No existe el recurso.
500: Es un Internal Server Error: cuando la solicitud no pudo ser procesada y el servidor nos da un error.

Les recomiendo esta lectura sobre los códigos de estados HTTP:
https://uniwebsidad.com/tutoriales/los-codigos-de-estado-de-http

POSTMAN

Protocolo http especifica cuales son las reglas de comunicacion
entre dos servidores o dos computadoras, telefono o servidor
o entre dos telefonos
Hyper Text Transfer Protocol

Se caracteriza por tener verbos
GET. Solicitar algun dato o recurso
HEAD. Traer headers, como una peticion GET pero sin contenido
POST. Enviar datos a un recurso para la creacion
PUT. reemplazar por completo un recurso
DELETE. eliminar recurso
PATCH. Para actualizar parte de un recurso

Status Code. Sirver para describir el etado de la peticion hecha a un servidor

1xx. Indica que la peticion fue recibida y el servidor sigue trabajando en el proceso
2xx. La petecion fue recibida, aceptada y procesada correctamente
3xx. Hay que tomar acciones adicionales para completar la solicitud
Por lo general estos codigos indican redireccion
4xx. Errores del lado del cliente. Indica que se hizo mal una solicitud,
faltan datos, headers o cualquier otro error que pueda ocurrir
5xx. Errores del servidor. Indica que fallo completamente la ejecucion
200 ok
201 post ok y se guardo o se creo
204 se proceso pero o retorna algo ejemplo delete
400 bad request se dejo de enviar algo, o hay algo malo con la solicitud, trae informacoin de porque fallo
401 unauthorized, falto autenticacion
403 forbiden, no tengo acceso al recurso aunque este autenticado
404 no existe el recurso not found
500 internal server error . no se puedo procesar por que el servidor no esta

Excelente introducción

Para más detalle de protocolos http, aqui:
https://http.cat/

Les dejo este enlace de w3school para que tengan otra fuente para que vean los códigos de respuesta
https://www.w3schools.com/tags/ref_httpmessages.asp

Si quieren ser desarrolladores Frontend presten mucha atención a este vídeo porque les será muy útil para hacer peticiones Http.😄

Comenzando mi 2do curso!

Los errores 4xx son:
Errores del lado del cliente. Indica que se hizo mal una solicitud, faltan datos, headers o cualquier otro error que puede ocurrir

Los errores 5xx son:
Errores del servidor. Indica que Falló completamente la ejecución

<h4>RESUMEN PARCIAL:</h4>

Protocolo especifica cómo va ser la comunicación entre dos partes. Hypertex Transfer protocol tiene unos verbos.

GET: Solicitar datos o algún recurso.// Lo utilizamos para traer información desde un servidor, una lista o un recurso en específico.
HEAD: traer headers como una petición GET sin contenido. // Status, encabezados, es útil a la hora de utilizar API y saber que puede ser procesado.
POST: Enviar datos a un recurso para la creación// Manda información hacia el servidor, un comentario al curso…
PUT: Reemplazar por completo un recurso. // Actualiza todo un recurso.
DELETE: Eliminar un recurso.
PATCH: Actualiza una parte de la información, no toda. Un título de un curso, todo el recurso PUT.

HTTP Status CODE.


Sirven para describir el estado de la petición hecha al servidor, cada código es semántico. Los estados indican como está procesada la solicitud.

1xx estados de cien:
Esto indica que la petición fue recibida y el servidor sigue trabajando en el proceso.
2xx
Indica que la petición fue recibida, procedas, aceptada y procesada correctamente.
3xx
Indica que hay acciones adicionales por hacer. En web se usan para hacer re direcciones. Teóricamente los API no contienen estados. Toda la info necesaria está contenida en una solicitud.
4xx
Errores del lado del cliente. Indica que se hizo mal una solicitud, faltan datos, headers o cualquier otro error que puede ocurrir. Un dato de más, o de menos o typo.
5xx
Errores del servidor, indica que falló completamente la ejecución.

Los más usadas:

200 Todo está bien, se retorna cuando GET esta ok.
201 Estado retornado cuando POST es correcto.
204 Significa que solicitud se proceso correctamente no se recibio nada.
400 Algo está mal con la solicitud, casi siempre los 400 especifican la los errores.
403 Forbiden, no tengo acceso a ese recurso aunque esté autenticado.
401 Authorazed, hay que autenticarse con el server primero.
404 No existe el recurso.
500 Servidor no pudo procesar la solicitud.

Resumido:
Captura de Pantalla 2020-06-14 a la(s) 10.19.29.png

Si quieren saber mas a detalle sobre los HTTP Status Codes, les dejo esta URL muy útil:
https://httpstatuses.com/

😃

descarga.png

Genial, pero faltó el código de error más importante:

418: I’m a teapot

El más importante y útil de todos xD

2-Metodos HTTP.jpg

htttp.PNG
http2.PNG

https://http.cat/ -> Aprende los Status HTTP mediante memes de gatos 🐱‍💻

En la siguiente página pueden ver los códigos HTTP, con fotos de gatos:

https://http.cat/

Es un poco mas de información de cada uno de los códigos de estado: https://www.xataka.com/basics/errores-404-500-502-504-y-mas-en-paginas-web-que-significan

los errores 1xx son:
Los que indican que la petición fue recibida y el servidor sigue trabajando en el proceso

Los errores 2xx son:
los que indican que la petición fue recibida, aceptada y procesada correctamente

Los errores 3xx son:
Los que indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos códigos indican redirección

La primera vez que escucho la diferencia entre el verbo PUT y PATCH.
Empieza bueno el curso, que buena vibra da el profesor.

Los códigos más usados:

  • 200
  • 201
  • 204
  • 400
  • 403
  • 401
  • 404
  • 500

**HTTP: **Es un protocolo que especifica las reglas de comunicación entre dos dispositivos.

Errores de cliente

  1. 400 Bad Request
    Esta respuesta significa que el servidor no pudo interpretar la solicitud dada una sintaxis inválida.
  2. 401 Unauthorized
    Es necesario autenticar para obtener la respuesta solicitada. Esta es similar a 403, pero en este caso, autenticación es posible.
  3. 402 Payment Required
    Este código de respuesta está reservado para futuros usos. El objetivo inicial de crear este código fue para ser utilizado en sistemas digitales de pagos. Sin embargo, no está siendo usado actualmente.
  4. 403 Forbidden
    El cliente no posee los permisos necesarios para cierto contenido, por lo que el servidor está rechazando otorgar una respuesta apropiada.
  5. 404 Not Found
    El servidor no pudo encontrar el contenido solicitado. Este código de respuesta es uno de los más famosos dada su alta ocurrencia en la web.
  6. 405 Method Not Allowed
    El método solicitado es conocido por el servidor pero ha sido deshabilitado y no puede ser utilizado. Los dos métodos obligatorios, GET y HEAD, nunca deben ser deshabilitados y no debiesen retornar este código de error.
  7. 406 Not Acceptable
    Esta respuesta es enviada cuando el servidor, despues de aplicar una negociación de contenido servidor-impulsado, no encuentra ningún contenido seguido por la criteria dada por el usuario.
  8. 407 Proxy Authentication Required
    Esto es similar al código 401, pero la autenticación debe estar hecha a partir de un proxy.
  9. 408 Request Timeout
    Esta respuesta es enviada en una conexión inactiva en algunos servidores, incluso sin alguna petición previa por el cliente. Significa que el servidor quiere desconectar esta conexión sin usar. Esta respuesta es muy usada desde algunos navegadores, como Chrome, Firefox 27+, o IE9, usa mecanismos de pre-conexión HTTP para acelerar la navegación. También hay que tener cuenta que algunos servidores simplemente desconectan la conexión sin enviar este mensaje.
  10. 409 Conflict
    Esta respuesta puede ser enviada cuando una petición tiene conflicto con el estado actual del servidor.
  11. 410 Gone
    Esta respuesta puede ser enviada cuando el contenido solicitado ha sido borrado del servidor.
  12. 411 Length Required
    El servidor rechaza la petición porque el campo de encabezado Content-Length no esta definido y el servidor lo requiere.
  13. 412 Precondition Failed
    El cliente ha indicado pre-condiciones en sus encabezados la cual el servidor no cumple.
  14. 413 Payload Too Large
    La entidad de petición es más larga que los limites definidos por el servidor; el servidor puede cerrar la conexión o retornar un campo de encabezado Retry-After.

Comparto esta API que encontré donde se explica con Gatos jaj cada status, incluidos los vistos en la clase:

https://http.cat

Entre esto y la explicación de Freddy de lo que paso en la PlatziConf 2020 entiendo lo que son los errores 500
Ya puedo dejar de pensar que era por mi internet o alguna configuración de mi PC.

no me quede muy claro el HEAD.

Mis apuntes, quizá sean de ayuda.

code.png

Algunas notas de la clase.
HTTP(Hypertext transfer protocol) es un protocolo especifica reglas en la comunicación, en este caso, entre dos computadoras.
Los verbos HTTP implican acciones
GET: Solicitar datos o algun recurso.
HEAD: Traer headers, como una petición GET pero sin contenido.
POST: Enviar datos a un recurso para la creación.
PUT: Reemplazar por completo un recurso.
DELETE: Eliminar un recurso.

HTTP Status Code: Los codigos de estado sirven para describir el estado de la petición hecha al servidor.
Los estado 1xx: Indican que la petición fue recibida y el servidor sigue trabajando en el proceso.
Los estados 2xx Indica que la peticion fue recibida, aceptada y procesada correctamente.
Los estados 3xx Indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos códigos indican redirección.
Los estados 4xx Indican errores del lado del cliente. Indica que se hizo mal una solicitud, faltan datos, headers o cualquier otro error que puede ocurrir.
Los estados 5xx Indican errores del servidor. Indica que fallo completamente la ejecución de una petición.

Vengo del curso de backend con Node y vaya que ahí sí tienes control sobre los códigos de respuesta.

Mis apuntes:

<h3>Verbos HTTP</h3>
  • Get: Este verbo lo utilizamos para hacer solicitudes de datos o algún recurso
  • Header: Este verbo contiene información como un get pero sin contenidos. Trae como el estado de la solicitud y su información general.
  • Post: Se envian datos al servidor para que se procesen o almacenen
  • Put: Reemplazar un recurso
  • Delete: Eliminar por completo un recurso
<h3>Estados HTTP</h3>

Los códigos de respuesta pueden ir del 1xx al 5xx, normalmente se denominan así:

  • 1xx: El servidor recibió la solicitud pero aún la está procesando
  • 2xx: El servidor recibió y respondió la solicitud correctamente
  • 3xx: El servidor solicita acciones adicionales para la completar la solicitud
  • 4xx: Normalmente es que el servidor rechaza por completo ya que la solicitud que estamos haciendo simplemente no existe
  • 5xx: Esta respuesta se debe a que el servidor en sí no puede procesar la solicitud ya por problemas internos del mismo (Este tipo de errores los he visto cuando se cae el hosting o VPS de alguna pagina)

Ya conocí el código 200 y 400 del curso de web scrapping y el 404 todos lo hemos visto en alguna página :p

Códigos más usados:
Screenshot at 15-08-03.png

Estudiando el protocolo HTTP, verbos y status

Protocolo especifica reglas en la comunicación, en este caso, entre dos computadores.

El Protocolo de transferencia de hipertexto (en inglés, Hypertext Transfer Protocol, abreviado HTTP) es el protocolo de comunicación que permite las transferencias de información en la World Wide Web.

<h3>Verbos HTTP:</h3>
  • GET: solicitar datos o algún recurso.
  • HEADR: traer headers, como una petición GET pero sin contenido.
  • POST: enviar datos a un recurso para la creacion.
  • PUT: reemplazar por completo un recurso.
  • DELETE: eliminar un recurso.
<h3>Code Status</h3>

Sirven para describir el estdo de la petición hecha al servidor.

  • Códigos con formato 1xx: Respuestas informativas. Indica que la petición ha sido recibida y se está procesando.
  • Códigos con formato 2xx: Respuestas correctas. Indica que la petición ha sido procesada correctamente.
  • Códigos con formato 3xx: Respuestas de redirección. Indica que el cliente necesita realizar más acciones para finalizar la petición.
  • Códigos con formato 4xx: Errores causados por el cliente. Indica que ha habido un error en el procesado de la petición a causa de que el cliente ha hecho algo mal.
  • Códigos con formato 5xx: Errores causados por el servidor. Indica que ha habido un error en el procesado de la petición a causa de un fallo en el servidor.

También puedes ser mas detallados en la gama de 2XX, para si el registro existe, si no existe, si por alguna, otra cosa recomendable es que manejes un error 409 para no mostrar 500, al menos que tengas bien controlado, para la respuesta header rehabilitad toda la información asociada al sistema operativo y la versión del servidor web, es necesario quitarla.

Errores de servidor

  1. 500 Internal Server Error
    El servidor ha encontrado una situación que no sabe como manejarla.
  2. 501 Not Implemented
    El método solicitado no esta soportado por el servidor y no puede ser manejada. Los unicos métodos que los servidores requieren soporte (y por lo tanto no deben retornar este código) son GET y HEAD.
  3. 502 Bad Gateway
    Esta respuesta de error significa que el servidor, mientras trabaja como una puerta de enlace para obtener una respuesta necesaria para manejar la petición, obtuvo una respuesta inválida.
  4. 503 Service Unavailable
    El servidor no esta listo para manejar la petición. Causas comunes puede ser que el servidor está caido por mantenimiento o está sobrecargado. Hay que tomar en cuenta que junto con esta respuesta, una página usuario-amigable explicando el problema debe ser enviada. Estas respuestas deben ser usadas para condiciones temporales y el encabezado HTTP Retry-After: debería, si es posible, contener el tiempo estimado antes de la recuperación del servicio. El webmaster debe también cuidar los encabezados relacionados al caché que son enviados junto a esta respuesta, ya que estas respuestas de condicion temporal deben usualmente no estar en el caché.
  5. 504 Gateway Timeout
    Esta respuesta de error es dada cuando el servidor está actuando como una puerta de enlace y no puede obtener una respuesta a tiempo.
  6. 505 HTTP Version Not Supported
    La versión de HTTP usada en la petición no está soportada por el servidor.
  7. 506 Variant Also Negotiates
    El servidor tiene un error de configuración interna: negociación de contenido transparente para la petición resulta en una referencia circular.
  8. 507 Insufficient Storage
    El servidor tiene un error de configuración interna: la variable de recurso escogida esta configurada para acoplar la negociación de contenido transparente misma, y no es por lo tanto un punto final adecuado para el proceso de negociación.
  9. 508 Loop Detected (WebDAV)
    El servidor detectó un ciclo infinito mientras procesaba la solicitud.
  10. 510 Not Extended
    Extensiones adicionales para la solicitud son requeridas para que el servidor las cumpla.
  11. 511 Network Authentication Required
    El código de estado 511 indica que el cliente necesita auntenticar para ganar acceso a la red.

Mis apuntes de esta clase 😃

Para empezar un protocolo es aquel que especifica las reglas de la comunicación, en este caso, entre dos computadoras. El protocolo HTTP (Hyper Text Transfer Protocol) fue creado específicamente para la web.

Una de las especificaciones de este protocolo son sus verbos, estos nos ayudan a indicar acciones.

  • GET. Lo utilizamos para solicitar datos o recursos específicos.
  • HEAD. Es similar a una petición GET pero sin contenido, sólo traer los encabezados. En ejemplo de su uso sería cuando vamos a utilizar APIs, para comprobar si lo que vamos a enviar es correcto y puede ser procesado.
  • POST. Envía datos a un recurso para su creación.
  • PUT. Es utilizado para actualizar un recurso.
  • PATCH. Actualiza un sección especifica de un recurso.
  • DELETE. Elimina por completo un recurso.

Otra de las especificaciones del protocolo HTTP son los códigos de estado (status code) y sirven para indicarnos el estado de la petición hecha al servidor.

  • 1XX. Esto indica que la petición fue recibida y el servidor se encuentra procesandola.
  • 2XX. Indica que la petición fue recibida, aceptada y procesada correctamente.
  • 3XX. Indican que hay acciones adicionales que debemos de hacer para completar la solicitud. Por lo general estos códigos indican redirecciones. Los APIs por norma general no utilizan redirecciones ya que toda la información está contenida en una solicitud.
  • 4XX. Errores del lado del cliente. Indica que se hizo mal una una solicitud, que faltan datos, headers o cualquier otro error que puede ocurrir.
  • 5XX. Errores del servidor. Indica que falló completamente la ejecución.

Lo anterior son los estados generales para también hay códigos de estado que son los más usuales de ver. Estos serían:

  • 200. Todo esta OK. Es la respuesta que esperamos.
  • 201. Todo OK pero cuando se hizo una solicitud POST, el recurso se creo y se guardó correctamente.
  • 204. Indica que la solicitud se proceso correctamente pero no devuelve información. Es el retorno usual cuando se hacen peticiones con DELETE.
  • 400. Este sería un Bad Request y nos indica que algo está mal en la petición. Se nos olvidó enviar un dato o algo relacionado.
  • 401. Indica que no estamos autorizados para realizar la petición. Ejemplo que no nos hemos identificarnos con nuestras credenciales para hacer la petición.
  • 403. Forbidden, indica que yo en especifico no tengo acceso al recurso aunque nos hayamos identificado.
  • 404. Not found, se realizó la petición pero no existe el recurso al que se intenta acceder.
  • 500. Internal Server Error, esto es un error de parte del servidor cuando la solicitud no pudo ser procesada.

Iniciando este curso como utilidad y refrescar conocimientos

HTTP -> protocolo de transferencia de hyperTexto
¿Que es HTTP? es un protocolo, como una especie de reglas que deben seguir 2 entidades para establecer uan comunicación, por ejemplo 2 computadoras, computadora-servidor, celular-servidor, etc
HTTP tiene VERVOS
GET = traer información
POST = enviar información
PUT = actualizar información
DELETE = eliminar información
HTTP TIENE CODIGOS DE ESTADO
CODIGO 100 -> la petición se esta procesando, no se sabe aun si es exitosa o errónea
CODIGO 200 -> la petición fue recibida correctamente, y procesada correctamente,
CODIGO 300 -> se tienen que hacer acciones adicionales, como una redirección
CODIGO 400 -> error del cliente, como enviar un dato de mas, un dato menos o un dato erróneo,
CODIGO 500 -> errores del servidor

Estudiando el protocolo HTTP, VERBOS y STATUS

Definición de http

  1. Un protocolo especifica reglas en la comunicación entre dos entes, en este caso entre dos computadoras. HTTP (Hyper Text Transfer Protocolo) fue creado específicamente para la web.

  2. HTTP define un conjunto de métodos de petición para indicar la acción que se desea realizar para un recurso determinado. Aunque estos también pueden ser sustantivos, estos métodos de solicitud a veces son llamados HTTP verbs

    Referencia:
    https://developer.mozilla.org/es/docs/Web/HTTP/Methods
    Característica del protocolo http
    EL protocolo http tiene varias características para su uso y comprensión, entre ellas:

  • Los verbos, los verbos indican acciones, estás acciones están asociadas a peticiones y recursos. En línea general sirve para la manipulación de recursos cliente/servidor
  • Los códigos de estados, los códigos son valores números que tienen un valor semántico.

Verbos http

  • GET
    Sirve para solicitar recurso.
  • HEAD
    Sirve para solicitar recurso, pero este no retorna información, la estructura de esta petición e igual que get tanto en su headers como estatus. Es útil cuando vamos a utilizar API, para comprobar si lo que vamos a enviar esta correcto y puede ser procesado.
  • POST
    sirve para la creación de recursos en el servidor. Ejemplo un comentario en un blog.
  • PUT
    Sirve actualizar por completo un recurso. El modo PUT reemplaza todas las representaciones actuales del recurso de destino con la carga útil de la petición.
  • PATCH
    Sirve para actualizar parcialmente un recurso.
  • DELETE
    sirve para eliminar un recurso.

Los códigos de estados
Otra de las cosas que especifica el protocolo HTTP son el código de estado (status codes). Sirven para describir el estado de la peticion hecha al servidor.

  • 1xx
    Indican que la petición fue recibida por el servidor, pero está siendo procesada por el servidor. es decir, no fue exitosa ni fue errónea, sino que está siendo procesada aun.
  • 2xx
    Indican que la petición fue recibida, aceptada y procesada correctamente.
  • 3xx
    Indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos códigos indican redirección. En las API no se usan redirecciones porque no contienen estados, es decir, toda la información está contenida en una solicitud, no se guarda un estado en el servidor como una sesión por ejemplo.
  • 4xx
    Errores del lado del cliente,Indica que se hizo mal una solicitud, faltan datos o datos sobrantes, faltan headers o cualquier otro error que pueda ocurrir. Es decir se está haciendo una solicitud errónea al servidor
  • 5xx
    Indican errores del servidor. Suelen aparecer cuando existe un fallo en la ejecución en el servidor.

Los códigos más comunes a la hora de interactuar con una API son:

  • 200:
    Toda está correcto.
  • 201:
    Todo está correcto cuando se hizo una solicitud POST, el recurso se creó y se guardó correctamente.
  • 204:
    Indica que la solicitud se completó correctamente pero no devolvió información. Este es común cuando, se hacen peticiones con el verbo DELETE.
  • 400:
    Bad Request, algo está mal en la petición. Se nos olvidó enviar un dato o algo relacionado. Por lo general la respuesta nos especifica cuáles fueron los errores a la hora de hacer la petición.
  • 401:
    Unauthorized, esto significa que antes de hacer una solicitud al servidor nos debemos autenticar.
  • 403:
    Forbidden, no tenemos acceso a ese recurso aunque se esté autenticado.
  • 404:
    Not Found, no existe el recurso que se está intentando acceder.
  • 500:
    Interna Server Error, es un error que retorna el servidor cuando la solicitud no pudo ser procesada. Por lo general, si no tenemos acceso al backend, no tenemos control sobre los errores 500 que retorna un API.

Códigos más usados

  • 200 ⇒ Todo está bien, se da más que todo en las peticiones que para darnos cuenta si todo no lo trajo correctamente.
  • 201 ⇒ Se retorna cuando una solicitud tipo post fue realizada correctamente.
  • 204 ⇒ La solicitud se procesó correctamente, pero no nos devuelve información, se utiliza mucho cuando se realiza una petición DELETE
  • 400 ⇒ Se da cuando algo está malo en nuestra solicitud
  • 401 ⇒ Se da cuando no se tiene una autenticación con el servidor, es decir que no sé
  • 403 ⇒ Se da cuando se quiere acceder a un recurso y no se está autenticado
  • 404 ⇒ No existe el recurso
  • 500 ⇒ Error cuando el servidor no pudo procesar la solicitud enviada

Protocolo HTTP

Un protocolo es una serie de reglas que especifica cómo va a ser la comunicación entre dos entes, en este caso entre dos servidores o computadores.

HTTP, desarrollado especificamente para la web, significa Hyper Text Transfer Protocol, Protocolo de Transferencia de Hiper Texto. Una de las características que transporta este protocolo y que es muy importante a la hora de consumir un API, son los verbos.

Verbos HTTP

Al igual que en el lenguaje español, en HTTP encontramos verbos que hacen referencia a acciones, estos serían:

  • GET: Sirve para solicitar o extraer alguna información en especifico.
  • HEAD: Sirve para traer información como el GET pero de manera más comprimida, esto sirve para verificar si lo que vamos a enviar está correcto y puede ser procesado.
  • POST: Sirve para enviar información al servidor, creación de recursos, etc.
  • PUT: Sirve para actualizar información de un recurso.
  • PATCH: Actualiza información, pero solo una parte
  • DELETE: Elimina el recurso.

Códigos de Estado HTTP

Los código de estado nos indican cómo está siendo procesada la información o en qué parte del proceso va, si fue bien procesada, si hubo error, etc.

  • 1xx: Información recibida por el servidor, pero está siendo procesada
  • 2xx: La información fue recibida y completada
  • 3xx: Hay acciones adicionales que necesitamos hacer, como redirecciones. (las redirecciones casi nunca se usan en los APIs)
  • 4xx: Errores de cliente, solicitud erronea, un dato de más, de menos, incorrecto.
  • 5xx: Errores del servidor.
  • Códigos más usados:
    • 200: Solicitud correcta
    • 201: Solicitud POST correcta.
    • 204: Solicitud completa, pero no retorna información. Se usa mucho con la acción DELETE
    • 400: Bad Request, algún dato de la peticion está mal, por lo general la respuesta del 400 nos dice cuál fue el error.
    • 401: Unauthorized: Antes de hacer una solicitud debemos identificarnos con el servidor.
    • 403: Forbbiden: No tengo acceso a ese recurso aunque esté autenticado.
    • 404: No existe el recurso.
    • 500: Internal server error, error del servidor cuando la información del servidor no pudo ser procesada.
clase2.png

aquí les dejo la lista completa y su significado de los códigos de respuesta http

https://developer.mozilla.org/es/docs/Web/HTTP/Status

Les recomiendo esta pagina , que explica los errores con foto de gatos jaja HTTPGatos

super esta clase ❤️

2-Codigos HTTP.PNG
2-Verbos HTTP.PNG

se nota cuando un profesor sabe de lo que habla…

El código de error HTTP 418 Soy una tetera indica que el servidor se rehusa a preparar café porque es una tetera.
WTF!

Significado de HTTP

Verbos HTTP. Ojo esto es un marcador!

Comparto un video que puede ayudar a entender un poco más sobre el protocolo HTTP de forma más gráfica

Códigos más usados. Ojo esto es un marcador!

Empezando este curso con gran espectativa.

que buena definicion de protocolo.

Comienzo este curso con mucha expectativa.

HTTP Status Code:
https://httpstatuses.com/

Aprendiendo de códigos

Respuestas informativas

  1. 100 Continue
    Esta respuesta provisional indica que todo hasta ahora está bien y que el cliente debe continuar con la solicitud o ignorarla si ya está terminada.
  2. 101 Switching Protocol
    Este código se envía en respuesta a un encabezado de solicitud Upgrade por el cliente e indica que el servidor acepta el cambio de protocolo propuesto por el agente de usuario.
  3. 102 Processing (WebDAV)
    Este código indica que el servidor ha recibido la solicitud y aún se encuentra procesandola, por lo que no hay respuesta disponible.

Respuestas satisfactorias

  1. 200 OK
    La solicitud ha tenido éxito. El significado de un éxito varía dependiendo del método HTTP:
    GET: El recurso se ha obtenido y se transmite en el cuerpo del mensaje.
    HEAD: Los encabezados de entidad están en el cuerpo del mensaje.
    PUT o POST: El recurso que describe el resultado de la acción se transmite en el cuerpo del mensaje.
    TRACE: El cuerpo del mensaje contiene el mensaje de solicitud recibido por el servidor.
  2. 201 Created
    La solicitud ha tenido éxito y se ha creado un nuevo recurso como resultado de ello. Ésta es típicamente la respuesta enviada después de una petición PUT.
  3. 202 Accepted
    La solicitud se ha recibido, pero aún no se ha actuado. Es una petición “Sin compromiso”, lo que significa que no hay manera en HTTP que permita enviar una respuesta asíncrona que indique el resultado del procesamiento de la solicitud. Está pensado para los casos en que otro proceso o servidor maneja la solicitud, o para el procesamiento por lotes.
  4. 203 Non-Authoritative Information
    La petición se ha completado con éxito, pero su contenido no se ha obtenido de la fuente originalmente solicitada, sino que se recoge de una copia local o de un tercero. Excepto esta condición, se debe preferir una respuesta de 200 OK en lugar de esta respuesta.
  5. 204 No Content
    La petición se ha completado con éxito pero su respuesta no tiene ningún contenido, aunque los encabezados pueden ser útiles. El agente de usuario puede actualizar sus encabezados en caché para este recurso con los nuevos valores.
  6. 205 Reset Content
    La petición se ha completado con éxito, pero su respuesta no tiene contenidos y además, el agente de usuario tiene que inicializar la página desde la que se realizó la petición, este código es útil por ejemplo para páginas con formularios cuyo contenido debe borrarse después de que el usuario lo envíe.
  7. 206 Partial Content
    La petición servirá parcialmente el contenido solicitado. Esta característica es utilizada por herramientas de descarga como wget para continuar la transferencia de descargas anteriormente interrumpidas, o para dividir una descarga y procesar las partes simultáneamente.
  8. 207 Multi-Status (WebDAV)
    Una respuesta Multi-Estado transmite información sobre varios recursos en situaciones en las que varios códigos de estado podrían ser apropiados. El cuerpo de la petición es un mensaje XML.
  9. 208 Multi-Status (WebDAV)
    El listado de elementos DAV ya se notificó previamente, por lo que no se van a volver a listar.
  10. 226 IM Used (HTTP Delta encoding)
    El servidor ha cumplido una petición GET para el recurso y la respuesta es una representación del resultado de una o más manipulaciones de instancia aplicadas a la instancia actual.

Redirecciones

  1. 300 Multiple Choice
    Esta solicitud tiene más de una posible respuesta. User-Agent o el usuario debe escoger uno de ellos. No hay forma estandarizado de seleccionar una de las respuestas.
  2. 301 Moved Permanently
    Este código de respuesta significa que la URI del recurso solicitado ha sido cambiado. Probablemente una nueva URI sea devuelta en la respuesta.
  3. 302 Found
    Este código de respuesta significa que el recurso de la URI solicitada ha sido cambiado temporalmente. Nuevos cambios en la URI serán agregados en el futuro. Por lo tanto, la misma URI debe ser usada por el cliente en futuras solicitudes.
  4. 303 See Other
    El servidor envia esta respuesta para dirigir al cliente a un nuevo recurso solcitado a otra dirección usando una petición GET.
  5. 304 Not Modified
    Esta es usada para propositos de “caché”. Le indica al cliente que la respuesta no ha sido modificada. Entonces, el cliente puede continuar usando la misma versión almacenada en su caché.
  6. 305 Use Proxy
    Fue definida en una versión previa de la especificación del protocolo HTTP para indicar que una respuesta solicitada debe ser accedida desde un proxy. Ha quedado obsoleta debido a preocupaciones de seguridad correspondientes a la configuración de un proxy.
  7. 306 unused
    Este código de respuesta ya no es usado más. Actualmente se encuentra reservado. Fue usado en previas versiones de la especificación HTTP1.1.
  8. 307 Temporary Redirect
    El servidor envía esta respuesta para dirigir al cliente a obtener el recurso solicitado a otra URI con el mismo metodo que se uso la petición anterior. Tiene la misma semántica que el código de respuesta HTTP 302 Found, con la excepción de que el agente usuario no debe cambiar el método HTTP usado: si un POST fue usado en la primera petición, otro POST debe ser usado en la segunda petición.
  9. 308 Permanent Redirect
    Significa que el recurso ahora se encuentra permanentemente en otra URI, especificada por la respuesta de encabezado HTTP Location:. Tiene la misma semántica que el código de respuesta HTTP 301 Moved Permanently, con la excepción de que el agente usuario no debe cambiar el método HTTP usado: si un POST fue usado en la primera petición, otro POST debe ser usado en la segunda petición.

Interesante.

El verbo PATCH:
The PATCH method is a request method supported by the HTTP protocol for making partial changes to an existing resource.

Estos días se pudo apreciar claramente varios errores de estos en Epic Games y la descarga masiva del GTA V, hermosa puesta en práctica de lo aprendido.

PATCH = se utiliza para actualizar parte de la informacin de un recurso.-

Excelente aporte!!

Excelente, no conocí nada de esto

Excelente explicación de los verbos, el HEAD si es algo poco claro para entender. Gracias 😄

Waau, ya veo importancia de aprender a manejar los códigos más utilizados. En muchas ocasiones vemos un 4xx o 5xx y soliamos pensar que era problemas de Internet o la página estaba caída 😀

Excelente clase, un contenido claro y bastante denso.

de una!

Gracias Eduardo no recordaba todos los estados HTTP

el 404 creo que para casi nadie es desconocido todos lo hemos vivido

Una duda…en el caso de “PATCH”, va sólo o lo puedes utilizar junto a otros verbos HTTP ?
Al hacer una petición.

que curso explica más sobre el protocolo HTTP ???

Lo que tenemos que tomar en cuanta que cuando hacemos los diferentes métodos de un recurso es recomendable que no tengan el mismo nombre, por medida de seguridad no esta bien.

esto es bastante interesante

Tengo una duda. Esto si utilizo React y Redux, Redux es el que se encarga del manejo de las HTTPs, o es para otra cosa?

Aunque he usado postman antes jamas he sabido hacer muchas cosas creo que eso me va a enriquecer mucho como backend devloper

Por fin entiendo que significan esos números. Muchas gracias.

Vengo de Express js para probar bien mi API

Alguien: Me pide un favor
Yo: HTTP_418

Hola, les comparto un resumen que me arme y es super útil para recurrir cuando queremos refrescar alguna idea. Si necesitan ayuda para avanzar el curso me ofrezco para ayudarles, saludos!
Resumen Protocolo HTTP

Excelente

GET: solicitar datos o algún recurso.
HEAD: traer headers (como una peticion GET pero sin contenidos).
POST: enviar datos a un recurso para la creación.
PUT: reemplazar por completo un recurso.
PATCH: reemplazar parcialmente un recurso.
DELETE: eliminar un recurso.

Un protocolo especifica reglas en la comunicacion entre dos entes, en este caso entre dos computudoras.

HTTP (Hyper Text Transfer Protocol) fue creado especificamente para la web.

Una de las cosas que especifica el protocolo HTTP son los verbos:

  • GET: solicitar datos o algun recurso.
  • HEAD: traer headers (como una peticion GET pero sin contenidos). Es util cuando vamos a utilizar APIs, para comprobar si lo que vamos a enviar esta correcto y puede ser procesado.
  • POST: enviar datos a un recurso para la creación.
  • PUT: reemplazar por completo un recurso.
  • PATCH: reemplazar parcialmente un recurso.
  • DELETE: eliminar un recurso.

Otra de las cosas que especifica el protocolo HTTP son los codigo de estado (status codes). Sirven para describir el estado de la peticion hecha al servidor.

  • 1xx: Indican que la peticion fue recibida y el servidor sigue trabajando en el proceso, es decir, no fue exitosa ni fue errónea, sino que esta siendo procesada aun.
  • 2xx: Indican que la peticion fue recibida y procesada correctamente.
  • 3xx: Indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos codigos indican redireccion. Generalmente en los APIs no se usan redirecciones porque no contienen estados, es decir, toda la informacion esta contenida en una solicitud, no se guarda un estado en el servidor con una sesion por ejemplo.
  • 4xx: Indican errores del lado del cliente, por ejemplo: se hizo mal la solicitud, faltan datos, headers o cualquier otro error que pueda ocurrir.
  • 5xx: Indican errores del servidor. Suelen aparecer cuando existe un fallo en la ejecución en el servidor.

Los codigos mas comunes a la hora de interactuar con un API son:

  • 200: Todo esta OK.
  • 201: Todo OK cuando se hizo una solicitud POST, el recurso se creo y se guardo correctamente.
  • 204: Indica que la solicitud se completo correctamente pero no devolvio informacion. Es muy comun cuando se hacen peticiones con el verbo DELETE.
  • 400: Bad Request, algo esta mal en la peticion. Se nos olvido enviar un dato o algo relacionado. Por lo general la respuesta nos especifica cuales fueron los errores a la hora de hacer la peticion.
  • 401: Unauthorized, es decir, no estamos autorizados (autenticados) a realizar la peticion.
  • 403: Forbidden, yo no tengo acceso a ese recurso aunque este autenticado.
  • 404: Not Found, no existe el recurso que se esta intentando acceder.
  • 500: Interna Server Error, es un error que retorna el servidor cuando la solicitud no pudo ser procesada. Por lo general, si no tenemos acceso al backend, no tenemos control sobre los errores 500 que retorna un API.

Me gusta mucho esta página que describe muy bien todos los códigos http https://http.cat/

Códigos de estado HTTP
Sirven para describir el estado de la petición.

1xx: Esto indica que la petición fue recibida y esta siendo procesada.
2xx: La solicitud fue completada correctamente.
3xx: Indica que hay acciones adicionales que se deben de hacer, por lo general se utilizan en las redirecciones.
4xx: Errores del cliente. Indica que se realiza una solicitud errónea.
5xx: Errores del servidor. Indica que el servidor presenta un error.

Errores más comunes

200: La petición fue correcta.
201: Es el estado cuando la solicitud Post fue correcta.
204: La solicitud fue procesada correctamente pero no devuelve información.
400: Bad request, la solicitud no es correcta.
401: Authorized, indica que se debe de realizar una autenticación antes de realizar una petición.
403: Forbidden: No se tiene acceso al recurso aunque se esté autenticado.
404: Not Found, el recurso no fue encontrado.
500: Internal Server Error, el servidor indica que la solicitud no pudo ser procesada.

Códigos más usados

1. 200: Todo bien
2. 201: solicitud POST se ejecutó correctamente.
3. 204: Solicitud ejecutada correctamente y no devuelve información. Por ejemplo, al ejecutar el verbo DELETE.
4. 400: bad request, por ejemplo, falta información.
5. 401: No estar autenticado.
6. 403: Forbidden. No tener aceeso a un recurso.
7. 404: No existe el recurso. Not found.
8. 500: La solicitud no pudo ser ejecutada.

Pequeñas infografías para quienes les gusta una ayuda visual:


Verbos HTTP
Get: Solicitar datos o algún recurso.
Head: traer headers, como una petición Get pero sin contenido.
Post: Enviar datos a un recurso para la creación.
Put: Reemplazar por completo un recurso.
Patch: Reemplazar parcialmente un recurso.
Delete: Eliminar un recurso.

Mas errores de cliente

  1. 414 URI Too Long
    La URI solicitada por el cliente es más larga que el servidor está dispuesto a interpretar.
  2. 415 Unsupported Media Type
    El formato multimedia de los datos solicitados no está soportada por el servidor, por lo cual el servidor rechaza la solicitud.
  3. 416 Requested Range Not Satisfiable
    El rango especificado por el campo de encabezado Range en la solicitud no cumple; es posible que el rango está fuera del tamaño de los datos objetivo del URI.
  4. 417 Expectation Failed
    Significa que la expectativa indicada por el campo de encabezado Expect solicitada no puede ser cumplida por el servidor.
  5. 418 I’m a teapot
    El servidor se reúsa a intentar hacer café con una tetera.
  6. 421 Misdirected Request
    La petición fue dirigida a un servidor que no es capaz de producir una respuesta. Esto puede ser enviado por un servidor que no esta configurado para producir respuestas por la combinación del esquema y la autoridad que estan incluidos en la URI solicitada
  7. 422 Unprocessable Entity (WebDAV)
    La petición estaba bien formada pero no se pudo seguir debido a errores de semántica.
  8. 423 Locked (WebDAV)
    El recurso que está siendo accedido está bloqueado.
  9. 424 Failed Dependency (WebDAV)
    La petición falló debido a una falla de una petición previa.
  10. 426 Upgrade Required
    El servidor se reúsa a aplicar la solicitud usando el protocolo actual pero puede estar dispuesto a hacerlo después que el cliente se actualize a un protocolo diferente. El servidor envía un encabezado Upgrade en una respuesta para indicar los protocolos requeridos.
  11. 428 Precondition Required
    El servidor origen requiere que la solicitud sea condicional. Tiene la intención de prevenir problemas de ‘actualización perdida’, donde un cliente OBTIENE un estado del recurso, lo modifica, y lo PONE devuelta al servidor, cuando mientras un tercero ha modificado el estado del servidor, llevando a un conflicto.
  12. 429 Too Many Requests
    El usuario ha enviado demasiadas solicitudes en un periodo de tiempo dado.
  13. 431 Request Header Fields Too Large
    El servidor no está dispuesto a procesar la solicitud porque los campos de encabezado son demasiado largos. La solicitud PUEDE volver a subirse después de reducir el tamaño de los campos de encabezado solicitados.
  14. 451 Unavailable For Legal Reasons
    El usuario solicita un recurso ilegal, como alguna página web censurada por algún gobierno.

Las respuestas por parte de HTTP nos retorna estados / códigos de respuesta:
1XX: Fue recibida pero esta siendo procesada aun.
2XX: Indica que la petición fue recibida, aceptada y procesada.
3XX: Indica que se deben tomar acciones para completar la solicitud, o redirección.
4XX: Son errores del Cliente (Puede ser retornado por el Backend), mal solicitud, etc.
401: No autorizado
403:Sin acceso al recurso
404:Recurso no encontrado.
5XX: Errores en el servicio y/o el servidor.
https://uniwebsidad.com/tutoriales/los-codigos-de-estado-de-http

Notas de la clase.
Un protocolo especifica reglas en la comunicación, en este caso, entre dos computadoras.
Los verbos HTTP implican acciones
GET: Solicitar datos o algun recurso.
HEAD: Traer headers, como una petición GET pero sin contenido.
POST: Enviar datos a un recurso para la creación.
PUT: Reemplazar por completo un recurso.
DELETE: Eliminar un recurso.

HTTP Status Code: Los codigos de estado sirven para describir el estado de la petición hecha al servidor.
Los estado 1xx: Indican que la petición fue recibida y el servidor sigue trabajando en el proceso.
Los estados 2xx Indica que la peticion fue recibida, aceptada y procesada correctamente.
Los estados 3xx Indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos códigos indican redirección.
Los estados 4xx Indican errores del lado del cliente. Indica que se hizo mal una solicitud, faltan datos, headers o cualquier otro error que puede ocurrir.
Los estados 5xx Indican errores del servidor. Indica que fallo completamente la ejecución de una petición.

Los codigos mas usados son los siguientes:
200: Todo esta bien, este es el status que se retorna cuando una solicitud GET esta correcta y toda la información me la trajo correctamente.
201: una solicitud Post fue hecha correctamente el recurso se creo y se guardo.
204: La solicitud se proceso correctamente pero no nos devuelve información.
400: Es un bad request, algo esta malo con nuestra solicitud, por lo general nos especifica cuales fueron los errores que tuvimos.
401: Significa un Autorized, lo que significa que antes de poder hacer una solicitud tenemos que autenticarnos con el servidor.
403: Significa que no tengo acceso a ese recurso aunque este autenticado
404: No existe el recurso.
500: Es un Internal Server Error: cuando la solicitud no pudo ser procesada y el servidor nos da un error.

Les recomiendo esta lectura sobre los códigos de estados HTTP:
https://uniwebsidad.com/tutoriales/los-codigos-de-estado-de-http

POSTMAN

Protocolo http especifica cuales son las reglas de comunicacion
entre dos servidores o dos computadoras, telefono o servidor
o entre dos telefonos
Hyper Text Transfer Protocol

Se caracteriza por tener verbos
GET. Solicitar algun dato o recurso
HEAD. Traer headers, como una peticion GET pero sin contenido
POST. Enviar datos a un recurso para la creacion
PUT. reemplazar por completo un recurso
DELETE. eliminar recurso
PATCH. Para actualizar parte de un recurso

Status Code. Sirver para describir el etado de la peticion hecha a un servidor

1xx. Indica que la peticion fue recibida y el servidor sigue trabajando en el proceso
2xx. La petecion fue recibida, aceptada y procesada correctamente
3xx. Hay que tomar acciones adicionales para completar la solicitud
Por lo general estos codigos indican redireccion
4xx. Errores del lado del cliente. Indica que se hizo mal una solicitud,
faltan datos, headers o cualquier otro error que pueda ocurrir
5xx. Errores del servidor. Indica que fallo completamente la ejecucion
200 ok
201 post ok y se guardo o se creo
204 se proceso pero o retorna algo ejemplo delete
400 bad request se dejo de enviar algo, o hay algo malo con la solicitud, trae informacoin de porque fallo
401 unauthorized, falto autenticacion
403 forbiden, no tengo acceso al recurso aunque este autenticado
404 no existe el recurso not found
500 internal server error . no se puedo procesar por que el servidor no esta

Excelente introducción

Para más detalle de protocolos http, aqui:
https://http.cat/

Les dejo este enlace de w3school para que tengan otra fuente para que vean los códigos de respuesta
https://www.w3schools.com/tags/ref_httpmessages.asp

Si quieren ser desarrolladores Frontend presten mucha atención a este vídeo porque les será muy útil para hacer peticiones Http.😄

Comenzando mi 2do curso!

Los errores 4xx son:
Errores del lado del cliente. Indica que se hizo mal una solicitud, faltan datos, headers o cualquier otro error que puede ocurrir

Los errores 5xx son:
Errores del servidor. Indica que Falló completamente la ejecución

<h4>RESUMEN PARCIAL:</h4>

Protocolo especifica cómo va ser la comunicación entre dos partes. Hypertex Transfer protocol tiene unos verbos.

GET: Solicitar datos o algún recurso.// Lo utilizamos para traer información desde un servidor, una lista o un recurso en específico.
HEAD: traer headers como una petición GET sin contenido. // Status, encabezados, es útil a la hora de utilizar API y saber que puede ser procesado.
POST: Enviar datos a un recurso para la creación// Manda información hacia el servidor, un comentario al curso…
PUT: Reemplazar por completo un recurso. // Actualiza todo un recurso.
DELETE: Eliminar un recurso.
PATCH: Actualiza una parte de la información, no toda. Un título de un curso, todo el recurso PUT.

HTTP Status CODE.


Sirven para describir el estado de la petición hecha al servidor, cada código es semántico. Los estados indican como está procesada la solicitud.

1xx estados de cien:
Esto indica que la petición fue recibida y el servidor sigue trabajando en el proceso.
2xx
Indica que la petición fue recibida, procedas, aceptada y procesada correctamente.
3xx
Indica que hay acciones adicionales por hacer. En web se usan para hacer re direcciones. Teóricamente los API no contienen estados. Toda la info necesaria está contenida en una solicitud.
4xx
Errores del lado del cliente. Indica que se hizo mal una solicitud, faltan datos, headers o cualquier otro error que puede ocurrir. Un dato de más, o de menos o typo.
5xx
Errores del servidor, indica que falló completamente la ejecución.

Los más usadas:

200 Todo está bien, se retorna cuando GET esta ok.
201 Estado retornado cuando POST es correcto.
204 Significa que solicitud se proceso correctamente no se recibio nada.
400 Algo está mal con la solicitud, casi siempre los 400 especifican la los errores.
403 Forbiden, no tengo acceso a ese recurso aunque esté autenticado.
401 Authorazed, hay que autenticarse con el server primero.
404 No existe el recurso.
500 Servidor no pudo procesar la solicitud.

Resumido:
Captura de Pantalla 2020-06-14 a la(s) 10.19.29.png

Si quieren saber mas a detalle sobre los HTTP Status Codes, les dejo esta URL muy útil:
https://httpstatuses.com/

😃

descarga.png

Genial, pero faltó el código de error más importante:

418: I’m a teapot

El más importante y útil de todos xD

2-Metodos HTTP.jpg

htttp.PNG
http2.PNG

https://http.cat/ -> Aprende los Status HTTP mediante memes de gatos 🐱‍💻

En la siguiente página pueden ver los códigos HTTP, con fotos de gatos:

https://http.cat/

Es un poco mas de información de cada uno de los códigos de estado: https://www.xataka.com/basics/errores-404-500-502-504-y-mas-en-paginas-web-que-significan

los errores 1xx son:
Los que indican que la petición fue recibida y el servidor sigue trabajando en el proceso

Los errores 2xx son:
los que indican que la petición fue recibida, aceptada y procesada correctamente

Los errores 3xx son:
Los que indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos códigos indican redirección

La primera vez que escucho la diferencia entre el verbo PUT y PATCH.
Empieza bueno el curso, que buena vibra da el profesor.

Los códigos más usados:

  • 200
  • 201
  • 204
  • 400
  • 403
  • 401
  • 404
  • 500

**HTTP: **Es un protocolo que especifica las reglas de comunicación entre dos dispositivos.

Errores de cliente

  1. 400 Bad Request
    Esta respuesta significa que el servidor no pudo interpretar la solicitud dada una sintaxis inválida.
  2. 401 Unauthorized
    Es necesario autenticar para obtener la respuesta solicitada. Esta es similar a 403, pero en este caso, autenticación es posible.
  3. 402 Payment Required
    Este código de respuesta está reservado para futuros usos. El objetivo inicial de crear este código fue para ser utilizado en sistemas digitales de pagos. Sin embargo, no está siendo usado actualmente.
  4. 403 Forbidden
    El cliente no posee los permisos necesarios para cierto contenido, por lo que el servidor está rechazando otorgar una respuesta apropiada.
  5. 404 Not Found
    El servidor no pudo encontrar el contenido solicitado. Este código de respuesta es uno de los más famosos dada su alta ocurrencia en la web.
  6. 405 Method Not Allowed
    El método solicitado es conocido por el servidor pero ha sido deshabilitado y no puede ser utilizado. Los dos métodos obligatorios, GET y HEAD, nunca deben ser deshabilitados y no debiesen retornar este código de error.
  7. 406 Not Acceptable
    Esta respuesta es enviada cuando el servidor, despues de aplicar una negociación de contenido servidor-impulsado, no encuentra ningún contenido seguido por la criteria dada por el usuario.
  8. 407 Proxy Authentication Required
    Esto es similar al código 401, pero la autenticación debe estar hecha a partir de un proxy.
  9. 408 Request Timeout
    Esta respuesta es enviada en una conexión inactiva en algunos servidores, incluso sin alguna petición previa por el cliente. Significa que el servidor quiere desconectar esta conexión sin usar. Esta respuesta es muy usada desde algunos navegadores, como Chrome, Firefox 27+, o IE9, usa mecanismos de pre-conexión HTTP para acelerar la navegación. También hay que tener cuenta que algunos servidores simplemente desconectan la conexión sin enviar este mensaje.
  10. 409 Conflict
    Esta respuesta puede ser enviada cuando una petición tiene conflicto con el estado actual del servidor.
  11. 410 Gone
    Esta respuesta puede ser enviada cuando el contenido solicitado ha sido borrado del servidor.
  12. 411 Length Required
    El servidor rechaza la petición porque el campo de encabezado Content-Length no esta definido y el servidor lo requiere.
  13. 412 Precondition Failed
    El cliente ha indicado pre-condiciones en sus encabezados la cual el servidor no cumple.
  14. 413 Payload Too Large
    La entidad de petición es más larga que los limites definidos por el servidor; el servidor puede cerrar la conexión o retornar un campo de encabezado Retry-After.

Comparto esta API que encontré donde se explica con Gatos jaj cada status, incluidos los vistos en la clase:

https://http.cat

Entre esto y la explicación de Freddy de lo que paso en la PlatziConf 2020 entiendo lo que son los errores 500
Ya puedo dejar de pensar que era por mi internet o alguna configuración de mi PC.

no me quede muy claro el HEAD.

Mis apuntes, quizá sean de ayuda.

code.png

Algunas notas de la clase.
HTTP(Hypertext transfer protocol) es un protocolo especifica reglas en la comunicación, en este caso, entre dos computadoras.
Los verbos HTTP implican acciones
GET: Solicitar datos o algun recurso.
HEAD: Traer headers, como una petición GET pero sin contenido.
POST: Enviar datos a un recurso para la creación.
PUT: Reemplazar por completo un recurso.
DELETE: Eliminar un recurso.

HTTP Status Code: Los codigos de estado sirven para describir el estado de la petición hecha al servidor.
Los estado 1xx: Indican que la petición fue recibida y el servidor sigue trabajando en el proceso.
Los estados 2xx Indica que la peticion fue recibida, aceptada y procesada correctamente.
Los estados 3xx Indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos códigos indican redirección.
Los estados 4xx Indican errores del lado del cliente. Indica que se hizo mal una solicitud, faltan datos, headers o cualquier otro error que puede ocurrir.
Los estados 5xx Indican errores del servidor. Indica que fallo completamente la ejecución de una petición.

Vengo del curso de backend con Node y vaya que ahí sí tienes control sobre los códigos de respuesta.

Mis apuntes:

<h3>Verbos HTTP</h3>
  • Get: Este verbo lo utilizamos para hacer solicitudes de datos o algún recurso
  • Header: Este verbo contiene información como un get pero sin contenidos. Trae como el estado de la solicitud y su información general.
  • Post: Se envian datos al servidor para que se procesen o almacenen
  • Put: Reemplazar un recurso
  • Delete: Eliminar por completo un recurso
<h3>Estados HTTP</h3>

Los códigos de respuesta pueden ir del 1xx al 5xx, normalmente se denominan así:

  • 1xx: El servidor recibió la solicitud pero aún la está procesando
  • 2xx: El servidor recibió y respondió la solicitud correctamente
  • 3xx: El servidor solicita acciones adicionales para la completar la solicitud
  • 4xx: Normalmente es que el servidor rechaza por completo ya que la solicitud que estamos haciendo simplemente no existe
  • 5xx: Esta respuesta se debe a que el servidor en sí no puede procesar la solicitud ya por problemas internos del mismo (Este tipo de errores los he visto cuando se cae el hosting o VPS de alguna pagina)

Ya conocí el código 200 y 400 del curso de web scrapping y el 404 todos lo hemos visto en alguna página :p

Códigos más usados:
Screenshot at 15-08-03.png

Estudiando el protocolo HTTP, verbos y status

Protocolo especifica reglas en la comunicación, en este caso, entre dos computadores.

El Protocolo de transferencia de hipertexto (en inglés, Hypertext Transfer Protocol, abreviado HTTP) es el protocolo de comunicación que permite las transferencias de información en la World Wide Web.

<h3>Verbos HTTP:</h3>
  • GET: solicitar datos o algún recurso.
  • HEADR: traer headers, como una petición GET pero sin contenido.
  • POST: enviar datos a un recurso para la creacion.
  • PUT: reemplazar por completo un recurso.
  • DELETE: eliminar un recurso.
<h3>Code Status</h3>

Sirven para describir el estdo de la petición hecha al servidor.

  • Códigos con formato 1xx: Respuestas informativas. Indica que la petición ha sido recibida y se está procesando.
  • Códigos con formato 2xx: Respuestas correctas. Indica que la petición ha sido procesada correctamente.
  • Códigos con formato 3xx: Respuestas de redirección. Indica que el cliente necesita realizar más acciones para finalizar la petición.
  • Códigos con formato 4xx: Errores causados por el cliente. Indica que ha habido un error en el procesado de la petición a causa de que el cliente ha hecho algo mal.
  • Códigos con formato 5xx: Errores causados por el servidor. Indica que ha habido un error en el procesado de la petición a causa de un fallo en el servidor.

También puedes ser mas detallados en la gama de 2XX, para si el registro existe, si no existe, si por alguna, otra cosa recomendable es que manejes un error 409 para no mostrar 500, al menos que tengas bien controlado, para la respuesta header rehabilitad toda la información asociada al sistema operativo y la versión del servidor web, es necesario quitarla.

Errores de servidor

  1. 500 Internal Server Error
    El servidor ha encontrado una situación que no sabe como manejarla.
  2. 501 Not Implemented
    El método solicitado no esta soportado por el servidor y no puede ser manejada. Los unicos métodos que los servidores requieren soporte (y por lo tanto no deben retornar este código) son GET y HEAD.
  3. 502 Bad Gateway
    Esta respuesta de error significa que el servidor, mientras trabaja como una puerta de enlace para obtener una respuesta necesaria para manejar la petición, obtuvo una respuesta inválida.
  4. 503 Service Unavailable
    El servidor no esta listo para manejar la petición. Causas comunes puede ser que el servidor está caido por mantenimiento o está sobrecargado. Hay que tomar en cuenta que junto con esta respuesta, una página usuario-amigable explicando el problema debe ser enviada. Estas respuestas deben ser usadas para condiciones temporales y el encabezado HTTP Retry-After: debería, si es posible, contener el tiempo estimado antes de la recuperación del servicio. El webmaster debe también cuidar los encabezados relacionados al caché que son enviados junto a esta respuesta, ya que estas respuestas de condicion temporal deben usualmente no estar en el caché.
  5. 504 Gateway Timeout
    Esta respuesta de error es dada cuando el servidor está actuando como una puerta de enlace y no puede obtener una respuesta a tiempo.
  6. 505 HTTP Version Not Supported
    La versión de HTTP usada en la petición no está soportada por el servidor.
  7. 506 Variant Also Negotiates
    El servidor tiene un error de configuración interna: negociación de contenido transparente para la petición resulta en una referencia circular.
  8. 507 Insufficient Storage
    El servidor tiene un error de configuración interna: la variable de recurso escogida esta configurada para acoplar la negociación de contenido transparente misma, y no es por lo tanto un punto final adecuado para el proceso de negociación.
  9. 508 Loop Detected (WebDAV)
    El servidor detectó un ciclo infinito mientras procesaba la solicitud.
  10. 510 Not Extended
    Extensiones adicionales para la solicitud son requeridas para que el servidor las cumpla.
  11. 511 Network Authentication Required
    El código de estado 511 indica que el cliente necesita auntenticar para ganar acceso a la red.

Mis apuntes de esta clase 😃

Para empezar un protocolo es aquel que especifica las reglas de la comunicación, en este caso, entre dos computadoras. El protocolo HTTP (Hyper Text Transfer Protocol) fue creado específicamente para la web.

Una de las especificaciones de este protocolo son sus verbos, estos nos ayudan a indicar acciones.

  • GET. Lo utilizamos para solicitar datos o recursos específicos.
  • HEAD. Es similar a una petición GET pero sin contenido, sólo traer los encabezados. En ejemplo de su uso sería cuando vamos a utilizar APIs, para comprobar si lo que vamos a enviar es correcto y puede ser procesado.
  • POST. Envía datos a un recurso para su creación.
  • PUT. Es utilizado para actualizar un recurso.
  • PATCH. Actualiza un sección especifica de un recurso.
  • DELETE. Elimina por completo un recurso.

Otra de las especificaciones del protocolo HTTP son los códigos de estado (status code) y sirven para indicarnos el estado de la petición hecha al servidor.

  • 1XX. Esto indica que la petición fue recibida y el servidor se encuentra procesandola.
  • 2XX. Indica que la petición fue recibida, aceptada y procesada correctamente.
  • 3XX. Indican que hay acciones adicionales que debemos de hacer para completar la solicitud. Por lo general estos códigos indican redirecciones. Los APIs por norma general no utilizan redirecciones ya que toda la información está contenida en una solicitud.
  • 4XX. Errores del lado del cliente. Indica que se hizo mal una una solicitud, que faltan datos, headers o cualquier otro error que puede ocurrir.
  • 5XX. Errores del servidor. Indica que falló completamente la ejecución.

Lo anterior son los estados generales para también hay códigos de estado que son los más usuales de ver. Estos serían:

  • 200. Todo esta OK. Es la respuesta que esperamos.
  • 201. Todo OK pero cuando se hizo una solicitud POST, el recurso se creo y se guardó correctamente.
  • 204. Indica que la solicitud se proceso correctamente pero no devuelve información. Es el retorno usual cuando se hacen peticiones con DELETE.
  • 400. Este sería un Bad Request y nos indica que algo está mal en la petición. Se nos olvidó enviar un dato o algo relacionado.
  • 401. Indica que no estamos autorizados para realizar la petición. Ejemplo que no nos hemos identificarnos con nuestras credenciales para hacer la petición.
  • 403. Forbidden, indica que yo en especifico no tengo acceso al recurso aunque nos hayamos identificado.
  • 404. Not found, se realizó la petición pero no existe el recurso al que se intenta acceder.
  • 500. Internal Server Error, esto es un error de parte del servidor cuando la solicitud no pudo ser procesada.

Iniciando este curso como utilidad y refrescar conocimientos

HTTP -> protocolo de transferencia de hyperTexto
¿Que es HTTP? es un protocolo, como una especie de reglas que deben seguir 2 entidades para establecer uan comunicación, por ejemplo 2 computadoras, computadora-servidor, celular-servidor, etc
HTTP tiene VERVOS
GET = traer información
POST = enviar información
PUT = actualizar información
DELETE = eliminar información
HTTP TIENE CODIGOS DE ESTADO
CODIGO 100 -> la petición se esta procesando, no se sabe aun si es exitosa o errónea
CODIGO 200 -> la petición fue recibida correctamente, y procesada correctamente,
CODIGO 300 -> se tienen que hacer acciones adicionales, como una redirección
CODIGO 400 -> error del cliente, como enviar un dato de mas, un dato menos o un dato erróneo,
CODIGO 500 -> errores del servidor

Estudiando el protocolo HTTP, VERBOS y STATUS

Definición de http

  1. Un protocolo especifica reglas en la comunicación entre dos entes, en este caso entre dos computadoras. HTTP (Hyper Text Transfer Protocolo) fue creado específicamente para la web.

  2. HTTP define un conjunto de métodos de petición para indicar la acción que se desea realizar para un recurso determinado. Aunque estos también pueden ser sustantivos, estos métodos de solicitud a veces son llamados HTTP verbs

    Referencia:
    https://developer.mozilla.org/es/docs/Web/HTTP/Methods
    Característica del protocolo http
    EL protocolo http tiene varias características para su uso y comprensión, entre ellas:

  • Los verbos, los verbos indican acciones, estás acciones están asociadas a peticiones y recursos. En línea general sirve para la manipulación de recursos cliente/servidor
  • Los códigos de estados, los códigos son valores números que tienen un valor semántico.

Verbos http

  • GET
    Sirve para solicitar recurso.
  • HEAD
    Sirve para solicitar recurso, pero este no retorna información, la estructura de esta petición e igual que get tanto en su headers como estatus. Es útil cuando vamos a utilizar API, para comprobar si lo que vamos a enviar esta correcto y puede ser procesado.
  • POST
    sirve para la creación de recursos en el servidor. Ejemplo un comentario en un blog.
  • PUT
    Sirve actualizar por completo un recurso. El modo PUT reemplaza todas las representaciones actuales del recurso de destino con la carga útil de la petición.
  • PATCH
    Sirve para actualizar parcialmente un recurso.
  • DELETE
    sirve para eliminar un recurso.

Los códigos de estados
Otra de las cosas que especifica el protocolo HTTP son el código de estado (status codes). Sirven para describir el estado de la peticion hecha al servidor.

  • 1xx
    Indican que la petición fue recibida por el servidor, pero está siendo procesada por el servidor. es decir, no fue exitosa ni fue errónea, sino que está siendo procesada aun.
  • 2xx
    Indican que la petición fue recibida, aceptada y procesada correctamente.
  • 3xx
    Indican que hay que tomar acciones adicionales para completar la solicitud. Por lo general estos códigos indican redirección. En las API no se usan redirecciones porque no contienen estados, es decir, toda la información está contenida en una solicitud, no se guarda un estado en el servidor como una sesión por ejemplo.
  • 4xx
    Errores del lado del cliente,Indica que se hizo mal una solicitud, faltan datos o datos sobrantes, faltan headers o cualquier otro error que pueda ocurrir. Es decir se está haciendo una solicitud errónea al servidor
  • 5xx
    Indican errores del servidor. Suelen aparecer cuando existe un fallo en la ejecución en el servidor.

Los códigos más comunes a la hora de interactuar con una API son:

  • 200:
    Toda está correcto.
  • 201:
    Todo está correcto cuando se hizo una solicitud POST, el recurso se creó y se guardó correctamente.
  • 204:
    Indica que la solicitud se completó correctamente pero no devolvió información. Este es común cuando, se hacen peticiones con el verbo DELETE.
  • 400:
    Bad Request, algo está mal en la petición. Se nos olvidó enviar un dato o algo relacionado. Por lo general la respuesta nos especifica cuáles fueron los errores a la hora de hacer la petición.
  • 401:
    Unauthorized, esto significa que antes de hacer una solicitud al servidor nos debemos autenticar.
  • 403:
    Forbidden, no tenemos acceso a ese recurso aunque se esté autenticado.
  • 404:
    Not Found, no existe el recurso que se está intentando acceder.
  • 500:
    Interna Server Error, es un error que retorna el servidor cuando la solicitud no pudo ser procesada. Por lo general, si no tenemos acceso al backend, no tenemos control sobre los errores 500 que retorna un API.

Códigos más usados

  • 200 ⇒ Todo está bien, se da más que todo en las peticiones que para darnos cuenta si todo no lo trajo correctamente.
  • 201 ⇒ Se retorna cuando una solicitud tipo post fue realizada correctamente.
  • 204 ⇒ La solicitud se procesó correctamente, pero no nos devuelve información, se utiliza mucho cuando se realiza una petición DELETE
  • 400 ⇒ Se da cuando algo está malo en nuestra solicitud
  • 401 ⇒ Se da cuando no se tiene una autenticación con el servidor, es decir que no sé
  • 403 ⇒ Se da cuando se quiere acceder a un recurso y no se está autenticado
  • 404 ⇒ No existe el recurso
  • 500 ⇒ Error cuando el servidor no pudo procesar la solicitud enviada

Protocolo HTTP

Un protocolo es una serie de reglas que especifica cómo va a ser la comunicación entre dos entes, en este caso entre dos servidores o computadores.

HTTP, desarrollado especificamente para la web, significa Hyper Text Transfer Protocol, Protocolo de Transferencia de Hiper Texto. Una de las características que transporta este protocolo y que es muy importante a la hora de consumir un API, son los verbos.

Verbos HTTP

Al igual que en el lenguaje español, en HTTP encontramos verbos que hacen referencia a acciones, estos serían:

  • GET: Sirve para solicitar o extraer alguna información en especifico.
  • HEAD: Sirve para traer información como el GET pero de manera más comprimida, esto sirve para verificar si lo que vamos a enviar está correcto y puede ser procesado.
  • POST: Sirve para enviar información al servidor, creación de recursos, etc.
  • PUT: Sirve para actualizar información de un recurso.
  • PATCH: Actualiza información, pero solo una parte
  • DELETE: Elimina el recurso.

Códigos de Estado HTTP

Los código de estado nos indican cómo está siendo procesada la información o en qué parte del proceso va, si fue bien procesada, si hubo error, etc.

  • 1xx: Información recibida por el servidor, pero está siendo procesada
  • 2xx: La información fue recibida y completada
  • 3xx: Hay acciones adicionales que necesitamos hacer, como redirecciones. (las redirecciones casi nunca se usan en los APIs)
  • 4xx: Errores de cliente, solicitud erronea, un dato de más, de menos, incorrecto.
  • 5xx: Errores del servidor.
  • Códigos más usados:
    • 200: Solicitud correcta
    • 201: Solicitud POST correcta.
    • 204: Solicitud completa, pero no retorna información. Se usa mucho con la acción DELETE
    • 400: Bad Request, algún dato de la peticion está mal, por lo general la respuesta del 400 nos dice cuál fue el error.
    • 401: Unauthorized: Antes de hacer una solicitud debemos identificarnos con el servidor.
    • 403: Forbbiden: No tengo acceso a ese recurso aunque esté autenticado.
    • 404: No existe el recurso.
    • 500: Internal server error, error del servidor cuando la información del servidor no pudo ser procesada.
clase2.png

aquí les dejo la lista completa y su significado de los códigos de respuesta http

https://developer.mozilla.org/es/docs/Web/HTTP/Status

Les recomiendo esta pagina , que explica los errores con foto de gatos jaja HTTPGatos

super esta clase ❤️

2-Codigos HTTP.PNG
2-Verbos HTTP.PNG

se nota cuando un profesor sabe de lo que habla…

El código de error HTTP 418 Soy una tetera indica que el servidor se rehusa a preparar café porque es una tetera.
WTF!

Significado de HTTP

Verbos HTTP. Ojo esto es un marcador!

Comparto un video que puede ayudar a entender un poco más sobre el protocolo HTTP de forma más gráfica

Códigos más usados. Ojo esto es un marcador!

Empezando este curso con gran espectativa.

que buena definicion de protocolo.

Comienzo este curso con mucha expectativa.

HTTP Status Code:
https://httpstatuses.com/

Aprendiendo de códigos

Respuestas informativas

  1. 100 Continue
    Esta respuesta provisional indica que todo hasta ahora está bien y que el cliente debe continuar con la solicitud o ignorarla si ya está terminada.
  2. 101 Switching Protocol
    Este código se envía en respuesta a un encabezado de solicitud Upgrade por el cliente e indica que el servidor acepta el cambio de protocolo propuesto por el agente de usuario.
  3. 102 Processing (WebDAV)
    Este código indica que el servidor ha recibido la solicitud y aún se encuentra procesandola, por lo que no hay respuesta disponible.

Respuestas satisfactorias

  1. 200 OK
    La solicitud ha tenido éxito. El significado de un éxito varía dependiendo del método HTTP:
    GET: El recurso se ha obtenido y se transmite en el cuerpo del mensaje.
    HEAD: Los encabezados de entidad están en el cuerpo del mensaje.
    PUT o POST: El recurso que describe el resultado de la acción se transmite en el cuerpo del mensaje.
    TRACE: El cuerpo del mensaje contiene el mensaje de solicitud recibido por el servidor.
  2. 201 Created
    La solicitud ha tenido éxito y se ha creado un nuevo recurso como resultado de ello. Ésta es típicamente la respuesta enviada después de una petición PUT.
  3. 202 Accepted
    La solicitud se ha recibido, pero aún no se ha actuado. Es una petición “Sin compromiso”, lo que significa que no hay manera en HTTP que permita enviar una respuesta asíncrona que indique el resultado del procesamiento de la solicitud. Está pensado para los casos en que otro proceso o servidor maneja la solicitud, o para el procesamiento por lotes.
  4. 203 Non-Authoritative Information
    La petición se ha completado con éxito, pero su contenido no se ha obtenido de la fuente originalmente solicitada, sino que se recoge de una copia local o de un tercero. Excepto esta condición, se debe preferir una respuesta de 200 OK en lugar de esta respuesta.
  5. 204 No Content
    La petición se ha completado con éxito pero su respuesta no tiene ningún contenido, aunque los encabezados pueden ser útiles. El agente de usuario puede actualizar sus encabezados en caché para este recurso con los nuevos valores.
  6. 205 Reset Content
    La petición se ha completado con éxito, pero su respuesta no tiene contenidos y además, el agente de usuario tiene que inicializar la página desde la que se realizó la petición, este código es útil por ejemplo para páginas con formularios cuyo contenido debe borrarse después de que el usuario lo envíe.
  7. 206 Partial Content
    La petición servirá parcialmente el contenido solicitado. Esta característica es utilizada por herramientas de descarga como wget para continuar la transferencia de descargas anteriormente interrumpidas, o para dividir una descarga y procesar las partes simultáneamente.
  8. 207 Multi-Status (WebDAV)
    Una respuesta Multi-Estado transmite información sobre varios recursos en situaciones en las que varios códigos de estado podrían ser apropiados. El cuerpo de la petición es un mensaje XML.
  9. 208 Multi-Status (WebDAV)
    El listado de elementos DAV ya se notificó previamente, por lo que no se van a volver a listar.
  10. 226 IM Used (HTTP Delta encoding)
    El servidor ha cumplido una petición GET para el recurso y la respuesta es una representación del resultado de una o más manipulaciones de instancia aplicadas a la instancia actual.

Redirecciones

  1. 300 Multiple Choice
    Esta solicitud tiene más de una posible respuesta. User-Agent o el usuario debe escoger uno de ellos. No hay forma estandarizado de seleccionar una de las respuestas.
  2. 301 Moved Permanently
    Este código de respuesta significa que la URI del recurso solicitado ha sido cambiado. Probablemente una nueva URI sea devuelta en la respuesta.
  3. 302 Found
    Este código de respuesta significa que el recurso de la URI solicitada ha sido cambiado temporalmente. Nuevos cambios en la URI serán agregados en el futuro. Por lo tanto, la misma URI debe ser usada por el cliente en futuras solicitudes.
  4. 303 See Other
    El servidor envia esta respuesta para dirigir al cliente a un nuevo recurso solcitado a otra dirección usando una petición GET.
  5. 304 Not Modified
    Esta es usada para propositos de “caché”. Le indica al cliente que la respuesta no ha sido modificada. Entonces, el cliente puede continuar usando la misma versión almacenada en su caché.
  6. 305 Use Proxy
    Fue definida en una versión previa de la especificación del protocolo HTTP para indicar que una respuesta solicitada debe ser accedida desde un proxy. Ha quedado obsoleta debido a preocupaciones de seguridad correspondientes a la configuración de un proxy.
  7. 306 unused
    Este código de respuesta ya no es usado más. Actualmente se encuentra reservado. Fue usado en previas versiones de la especificación HTTP1.1.
  8. 307 Temporary Redirect
    El servidor envía esta respuesta para dirigir al cliente a obtener el recurso solicitado a otra URI con el mismo metodo que se uso la petición anterior. Tiene la misma semántica que el código de respuesta HTTP 302 Found, con la excepción de que el agente usuario no debe cambiar el método HTTP usado: si un POST fue usado en la primera petición, otro POST debe ser usado en la segunda petición.
  9. 308 Permanent Redirect
    Significa que el recurso ahora se encuentra permanentemente en otra URI, especificada por la respuesta de encabezado HTTP Location:. Tiene la misma semántica que el código de respuesta HTTP 301 Moved Permanently, con la excepción de que el agente usuario no debe cambiar el método HTTP usado: si un POST fue usado en la primera petición, otro POST debe ser usado en la segunda petición.

Interesante.

El verbo PATCH:
The PATCH method is a request method supported by the HTTP protocol for making partial changes to an existing resource.

Estos días se pudo apreciar claramente varios errores de estos en Epic Games y la descarga masiva del GTA V, hermosa puesta en práctica de lo aprendido.

PATCH = se utiliza para actualizar parte de la informacin de un recurso.-

Excelente aporte!!

Excelente, no conocí nada de esto

Excelente explicación de los verbos, el HEAD si es algo poco claro para entender. Gracias 😄

Waau, ya veo importancia de aprender a manejar los códigos más utilizados. En muchas ocasiones vemos un 4xx o 5xx y soliamos pensar que era problemas de Internet o la página estaba caída 😀

Excelente clase, un contenido claro y bastante denso.

de una!

Gracias Eduardo no recordaba todos los estados HTTP

el 404 creo que para casi nadie es desconocido todos lo hemos vivido

Una duda…en el caso de “PATCH”, va sólo o lo puedes utilizar junto a otros verbos HTTP ?
Al hacer una petición.

que curso explica más sobre el protocolo HTTP ???

Lo que tenemos que tomar en cuanta que cuando hacemos los diferentes métodos de un recurso es recomendable que no tengan el mismo nombre, por medida de seguridad no esta bien.

esto es bastante interesante

Tengo una duda. Esto si utilizo React y Redux, Redux es el que se encarga del manejo de las HTTPs, o es para otra cosa?

Aunque he usado postman antes jamas he sabido hacer muchas cosas creo que eso me va a enriquecer mucho como backend devloper

Por fin entiendo que significan esos números. Muchas gracias.

Vengo de Express js para probar bien mi API

Alguien: Me pide un favor
Yo: HTTP_418

Hola, les comparto un resumen que me arme y es super útil para recurrir cuando queremos refrescar alguna idea. Si necesitan ayuda para avanzar el curso me ofrezco para ayudarles, saludos!
Resumen Protocolo HTTP

Excelente

GET: solicitar datos o algún recurso.
HEAD: traer headers (como una peticion GET pero sin contenidos).
POST: enviar datos a un recurso para la creación.
PUT: reemplazar por completo un recurso.
PATCH: reemplazar parcialmente un recurso.
DELETE: eliminar un recurso.