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: 16D : 7H : 47M : 26S

Debes tener cuenta en Platzi

Para ver esta clase abierta debes iniciar sesión

Entender HTTP4/21

Códigos de estado HTTP más comunes

Status code 200 – OK.
Status code 301 – Moved Permanently.
Status code 302 – Moved Temporarily.
Status code 403 – Forbidden
Status code 404 – Not Found
Status code 500 – Internal Server Error
Status code 503 ­– Service Unavailable

https://www.ionos.com/digitalguide/hosting/technical-matters/the-most-important-http-status-codes-at-a-glance/

RESUMEN: Fundamentos de la WEB

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

HTTP: Hypertext Transfer Protocol


Conjunto de reglas por el cual dos computadores se comunican. Un cliente y un servidor. El cliente realiza peticiones a servidores.

Una petición se ve así:

# Request
GET / HTTP/1.1
Host: developer.mozilla.org  Accept-Language: fr

# Response  HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT  ETag: "51142bc1-7449-479b075b2891b"
Accept-Ranges: bytes  Content-Length: 29769  Content-Type: text/html
<!DOCTYPE html... (here comes the 29769 bytes of the  requested web page)



HEADERS
Permiten al cliente y el servidor passar información adicional con un request o response HTTP.
Pueden agruparse en las siguientes categorías:

  • Generales : Aplica para request y responses pero no tiene relación con la data transmitida en el cuerpo
  • Request : Contienen más información acerca del recurso a ser fetch (extraer)
  • Response : Contiene información adicional sobre respuestas. Como ubicación o el Server provider.
  • Entity : Contien información acerca del recurso del cuerpo.

Existen muchas cabeceras o headers como:

  • Accept
  • Authorization
  • Link
  • Location
  • Save-Data

Puedes consultar aquí toda la documentación sobre las cabeceras o Headers


HTTP nos permite transportar, HTML, CSS, webAPIs, Js.
Y se vale de protcolos como IP, TCP, UDP para comunicarse con el servidor, mediante TLS se hace la encriptación
Y el DNS asigna nombres a direcciones IP.

STATUS CODE :

Los estados son la forma en que el servidor da respuesta de las peticiones.

1.- Respuestas informativas (100–199).
2.- Respuestas satisfactorias (200–299).
3.- Redirecciones (300–399).
4.- Errores de los clientes (400–499).
5.- Errores de los servidores (500–599).

La siguiente hace parte de la documentación de Mozilla:

STATUS RESPONSE


MANEJO DE STATUS CODES

Una opción rápida para manejarlas es usar la librería Request

Shell*

1. Abre un ambiente virtual.
2. En la carpeta de trabajo: pip install request

Luego en pyhton

## Una idea sobre el manejo de los status Code.

import requests

response_platzi = requests.get('https://api.platzi.com')
print(response_platzi)
# <Response [404]>

if response_platzi.status_code == 200:
    print("Aquí tienes lo que buscas")
elif response_platzi.status_code == 400:
    print("Ups, no puedo darte nada en el momento. Nosotros nunca paramos de mejorar <3")
    

Un artículo para profundizar en cómo manejar la librería request y como manejar los status code:
Request Tutorial

![](statuscode.png

Códigos de estatus:
1xx - INFO
2xx - SECCESS
3xx - REDIRECT
4xx - ERROR CLIENT
5xx - ERROR SERVER
Cabeceras:
ACCEPT: tipos de contenido aceptados
CACHE-CONTROL: políticas de caché
CONNECTION: tipo de conexión
COOKIE: cookies enviadas al servidor
DATE: fecha y hora de petición
HOST: nombre de dominio o dirección IP
UPGRADE: pide que el servidor actualice versión de http

Como aporte, encontrè una agrupaciòn de los còdigos de estado de respuesta de la solicitud desde HTTP:

1.- Respuestas informativas (100–199).
2.- Respuestas satisfactorias (200–299).
3.- Redirecciones (300–399).
4.- Errores de los clientes (400–499).
5.- Errores de los servidores (500–599).

Bueno con respecto a los Status Code, los explicaría de la siguiente forma:
Status code 200 - OK = La petición de datos ha sido exitosa.
Status code 202 - Acepted = La información enviada ha sido recibida, y preparada para procesarse. Status code 301 - Moved Permanently = La uri que se quiere acceder, obtuvo una actualización y ya se encuentra con otro nombre.
Status code 400 - Bad Request = El servidor no pudo entender la petición realizada por el cliente. Status code 403 - Forbidden = El cliente no posee los permisos necesarios para realizar esta petición. Status code 404 - Not Found = El servidor no encontro la información solicitada por el cliente.
Status code 500 - Internal Server Error = El error tuvo un error al momento de procesar la petición. Status code 503 - Service unavailable= El servidor se encuentra en mantemiento o aún no está listo para recibir peticiones.

Con respecto a las cabeceras de una petición Http las más comunes que he visto son:
Authorization = Utilizada para enviar la llave de acceso de un usuario al servidor, y poder autenticarlo. Accept = Especifica el tipo de dato que se envía de respuesta.
Access-Control-Allow-Origin = Especifica que la respuesta del servidor a quienes puede ser compartida
Content-Length = Especifica el tamaño en caracteres de la respuesta obtenida
Content-Type = Especifica el tipo de dato enviado en la petición http.
User-Agent = Especifica que tipo y versión de navegador, aplicación o sistema operativo fue el que realizó la petición al servidor.
Referer = Indica desde cual página fue redireccionada la petición.

HTTP Status Codes
1xx = Informe
2xx = éxito
3xx = Redirección
4xx = Error de Cliente
5xx = Error de Servidor

Headers
Nombre de la cabecera
Accept
Accept-Charset
Accept-Encoding
Accept-Language
Accept-Datetime
Authorization
Cache-Control
Connection
Cookie
Content-Length
Content-MD5
Content-Type
Date
Forwarded
From
Host
Max-Forwards
Origin
Pragma
Proxy-Authorization
Range
Referer [sic]
User-Agent
Upgrade
Warning

En general los Status Code de HTTP son:

1XX: Informational: El servidor informa al cliente que su solicitud está en proceso.
2XX: Succes: Informa una operación exitosa
3XX: Redirection: Muestra que el servidor recibio la solicitud del cliente, sin embargo son necesarios pasos adicionales
**4XX: Cliente Error: **El servidor recibio la solicitud del cliente, sin embargo no se pudo completar.
5XX: Server Error: El servidor fallo al intentar realizar la solicitud

Más información

Cabeceras HTTP:

Existen cabeceras de: Autenticación - Almacenamiento de Caché - Indicaciones sobre el cliente - Condicionales - Gestión de conexiones - Negociación de contenido - Controles - Cookies - CORS - Cabeceras sin seguimiento - Descargas - Mensajes sobre la información del cuerpo - Proxies -Redirecciones - Contextos de petición - Contextos de respuesta - Peticiones de rango - Seguridad - Eventos enviados por el servidor - Codificación de transferencia - WebSockets - Otros

Algunos ejemplos:

  • Last-Event-ID
  • Content-Security-Policy
  • X-Forwarded-Proto
  • Set-Cookie

Más información

Desde mi punto de vista creo que las 4 mas usuales respuestas de status.code son:

  • 200 Todo salio bien
  • 400 Mal requerimiento
  • 401 No existe autorización,esto es muy usual cuando queremos acceder a una Appi sin token
  • 404 Este es con el que menos queremos toparnos y el mas común,que nuestra respuesta no fue encontrada

Investigando un poco más sobre HTTP 2.0 encontré esta imagen que me parece excelente para entenderlo
![](Qué_es_http2.jpg
Está en el artículo de wikipedia de HTTP 2.0
También me pareció interesante saber que se está trabajando en HTTP3.0.
Acá un poco más de información sobre headers HTTP

Y con respecto a los códigos de estado tenemos:

  • Del 100 al 199 Son respuestas informativas.
  • Del 200 al 299 Respuestas satisfactorias.
  • Del 300 al 399 Redirecciones.
  • Del 400 al 499 Errores del cliente.
  • Del 500 al 599 Errores del servidor.

    Dando énfasis en:
  • 100 continue = Indica que todo está bien y que el cliente debe continuar con su solicitud o ignorarla si ya terminó.
  • 200 OK = La solicitud tuvo éxito.
  • 202 Accepted = Se recibió la solicitud, pero no se hace nada mas. Es usada para cuando otro proceso o servidor maneja la solicitud, también sirve para el procesamiento por lotes(batches).
  • 304 Not Modified = Es usada en caché. Le indica al cliente que no se ha modificado. Entonces se sigue usando la misma versión que lo que está guardado en Caché.
  • 404 Not Found = No se encontró el contenido solicitado.
  • 500 Internal server error = el servidor tiene un problema y no sabe como manejarlo.

HTTP Status_code:
Informational responses (100–199)
Successful responses (200–299)
Redirects (300–399)
Client errors (400–499)
Server errors (500–599)

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).

Cuando profe dice que hay muchas más cabeceras HTTP es porque realmente hay muchas más. Mozilla tiene una lista aquí: https://developer.mozilla.org/es/docs/Web/HTTP/Headers

Status code: Son emitidos por un servidor en respuesta a la solicitud de un cliente hecha al servidor.

1xx Informational Response: Una respuesta informativa indica que el pedido fue recibido y entendido.

  • 100-Continue: El servidor recibió la solicitud de encabezados y el cliente debería hacer una petición al body.

[4:40] Donde se ubica HTTP en el entorno de la web.

[2:11] Estructura de una petición http.

[0:49] HTTP: Protocolo de transferencia de hypertexto.

Les dejo esta información acerca de los Status HTTP extraída del siguiente link: https://developer.mozilla.org/es/docs/Web/HTTP/Status

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).
Los códigos de estado se definen en la sección 10 de RFC 2616. Puedes obtener las especificaciones actualizadas en RFC 7231.

En ese mismo link pueden encontrar una descripción detallada de cada status, consulta para cada vez que hagamos un request y no entendamos el código.

Los HTTP Status Codes están agrupados de esta forma:

  • 1xx: Informacionales
  • 2xx: Exitosos
  • 3xx: Redirecciones
  • 4xx: Error de parte del cliente
  • 5xx: Error de parte del servidor

Encontré este Top 10 de los status code de HTTP más utilizados:

  • 200 OK: La solicitud ha tenido éxito.
  • 201 Created: La solicitud se ha cumplido y el recurso se ha creado con éxito.
  • 204 No Content: La solicitud se ha cumplido pero no necesita retornar un cuerpo.
  • 304 Not Modified: En caso de que el cliente realice un GET condicional y el acceso se permita, pero el documento no haya sido modificado.
  • 400 Bad Request: La solicitud no fue entendida por el servidor por una sintaxis malformada.
  • 401 Unauthorized: La solicitud requiere de autenticación.
  • 403 Forbidden: El servidor entendió la solicitud, pero se niega a cumplirla.
  • 404 Not Found: El servidor no encontró nada que coincida con la URI que se le envió.
  • 409 Conflict: La solicitud no pudo ser completada por un conflicto con el estado actual del recurso.
  • 500 Internal Server Error: El servidor encontró una condición inesperada que previene el completar la solicitud.

Fuente: https://www.restapitutorial.com/httpstatuscodes.html

Aquí les dejo un resumen muy completo sobre http:

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

Error 500 es un fallo en la aplicación o en el servidor
Error 403 es un error de permisos
Error 502 hay un fallo en el proxy reverso
Error

X-Forwarded-For : Headers de Proxies transparentes
Content-Security-Policy
Origin : Origen del dominio de la peticion
Access-Control-Allow-Origin: Origenes permitidos dentro de una aplicación hacia un recurso como una API
Referer: URL de donde proviene una petición HTTP

Cabeceras
Age
El tiempo en el que un objeto ha estado en una caché proxy, expresado en segundos.
Cache-Control
Especifica directivas para los mecanismos de almacenamiento en caché, tanto para peticiones como para respuestas.
Expires
La fecha y tiempo tras las cuales una respuesta se considera agotada.
Pragma
Cabecera specífica para implementaciones que puede tener diferentes efectos a lo lartgo del proceso de petición-respuesta. Utilizada para implementar retrocompatibilidad con cachés de tipo HTTP/1.0 donde la cabecera Cache-Control aún no esté presente.
Warning
Un campo de alerta general, que contiene información sobre diferentes problemas posibles.

Status_code
Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).

Códigos de estatus:
100-199 Información
200-299 comando exitosos
300-399 Redirección
400-499 Error del cliente
500-599 Error del servidor

Cabeceras:
Authorization: Contiene las credenciales para autenticar a un usuario con un servidor.
Warning: Un campo de alerta general, que contiene información sobre diferentes problemas posibles.
Last-Modified: Se trata de un validador, indicando la fecha de la última modificación del recurso, utilizado para comparar diferentes versiones del mismo recurso.
Connection: Controla si la conexión a la red se mantiene activa después de que la transacción en curso haya finalizado.
Accept-Charset: Informa al servidor sobre el set de caracteres que el cliente puede entender.

Encontré esta clasificación general en :
https://developer.mozilla.org/es/docs/Web/HTTP/Status

  • Respuestas informativas (100–199),
  • Respuestas satisfactorias (200–299),
  • Redirecciones (300–399),
  • Errores de los clientes (400–499),
  • Errores de los servidores (500–599).
  • 404 Not found - El recurso solicitado no esta disponible. El usuario se comunica con el servidor pero el contenido/recurso no esta.

  • 403 Fordibben - El acceso al recurso esta prohibido y el servidor esta rechazando tu petición.

  • 500 Internal Server Error - Nombre de error general.503 Service Unavailable - Usualmente un error temporal, el servidor no esta disponible en ese instante. Lo mas frecuente es que sea por sobrecarga de trafico.

  • 504 Gateway timeout - Indica problemas de comunicación servidor a servidor.

Status Code de HTTP:

  • Respuestas informativas (100–199),

  • Respuestas satisfactorias (200–299),

  • Redirecciones (300–399),

  • Errores de los clientes (400–499),

  • y errores de los servidores (500–599).

Para las cabeceras de HTTP:

Date:
Server:
X-Powered-By:
P3P:
Expires:
Cache-Control:
Pragma:
Last-Modified:
Vary:
Content-Encoding:
Content-Length:
Keep-Alive:
Connection:
Content-Type:

Sobre el tema de cabeceras, es muy amplio, se puede investigar el tema buscado http heaers.
https://developer.mozilla.org/es/docs/Web/HTTP/Headers

Cabeceras de Servidor - Response:
accept: especifica que tipos de medios de internet son aceptables para asignar preferencias
age: Da la estimacion de la cantidad de tiempo desde que se genero la respuesta
location: redirige al destinatario a una ubicacion que no sea el URI de solicitud para completar la solicitud o identificar un nuevo recurso.
proxy-authenticate: Indica el esquema de autenticacion y los parametros aplicables al proxy
retry-after: indica durante cuanto tiempo se espera que el servicio no este disponible para el solicitante.

Cabeceras importantes:
x-http-forward: para saber de qué ip llegó el request en AWS
Authentication: Para poner algún tipo de autenticación, la más común es Bearer Token o un username y password
x-http-length: te dice el tamaño del objeto que te devolvió
Content: el tipo de contenido que se envía en la petición

Status code

  1. Respuestas informativas (100199),
  2. Respuestas satisfactorias (200299),
  3. Redirecciones (300399),
  4. Errores de los clientes (400499),
  5. y errores de los servidores (500599).
    **
    Cabeceras**
    Content-Type: El navegador entonces decide como interpretar los contenidos basado en esto.

Cache-Control: para especificar directivas las cuales DEBEN de ser obedecidas por todos los mecanismos de cacheo junto a la cadena petición/respuesta
Content-Disposition Este header da instrucciones al navegador de abrir la carga de descarga de archivo, en lugar de intentar analizar el contenido.
Etag- cabecera con proposito de cacheo
Last-Modified: ultima fecha de modificacion del documento

Códigos de estado de respuesta HTTP
Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).

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

2021-03-30_18-22.png

1xx: Respuestas informativas
100 Continue
El navegador puede continuar realizando su petición (se utiliza para indicar que la primera parte de la petición del navegador se ha recibido correctamente).2
101 Switching Protocols
El servidor acepta el cambio de protocolo propuesto por el navegador (puede ser por ejemplo un cambio de HTTP 1.0 a HTTP 1.1).
102 Processing
El servidor está procesando la petición del navegador pero todavía no ha terminado (esto evita que el navegador piense que la petición se ha perdido cuando no recibe ninguna respuesta).2
103 Checkpoint
Se va a reanudar una petición POST o PUT que fue abortada previamente.

2xx: Peticiones correctas
Esta clase de código de estado indica que la petición fue recibida correctamente, entendida y aceptada.

200 OK
Respuesta estándar para peticiones correctas.
201 Createds
La petición ha sido completada y ha resultado en la creación de un nuevo recurso.
202 Accepted
La petición ha sido aceptada para procesamiento, pero este no ha sido completado. La petición eventualmente pudiere no ser satisfecha, ya que podría ser no permitida o prohibida cuando el procesamiento tenga lugar.
203 Non-Authoritative Information (desde HTTP/1.1)
La petición se ha completado con éxito, pero su contenido no se ha obtenido de la fuente originalmente solicitada sino de otro servidor.
204 No Content
La petición se ha completado con éxito pero su respuesta no tiene ningún contenido (la respuesta puede incluir información en sus cabeceras HTTP).
205 Reset Content
La petición se ha completado con éxito, pero su respuesta no tiene contenidos y además, el navegador 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).
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.
207 Multi-Status (Multi-Status, WebDAV)
El cuerpo del mensaje que sigue es un mensaje XML y puede contener algún número de códigos de respuesta separados, dependiendo de cuántas sub-peticiones sean hechas.
208 Already Reported (WebDAV)
El listado de elementos DAV ya se notificó previamente, por lo que no se van a volver a listar.

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.

Las cabeceras del metodo HTTP
Headers HTTP

Status More Common
301 - Moved Permanent
200 - OK
404 - Not Found
302 - Found
403 - Forbidden
451 - Unavailable For Legal Reasons
500 - Internal Server Error

Códigos de estado HTTP más comunes

Status code 200 – OK.
Status code 301 – Moved Permanently.
Status code 302 – Moved Temporarily.
Status code 403 – Forbidden
Status code 404 – Not Found
Status code 500 – Internal Server Error

Aquí las cabeceras HTTP

Status codes de los más comunes:
101 Cambio de protocolos
102 Procesando petición de navegador
204 Petición completada pero sin contenido
308 Redirección permanente, no se cambia el método HTTP
401 Se trata de autenticar el permiso para acceder pero no es posible
407 Falta de autenticación de Proxy
503 Servidor no responde petición por estar en mantenimiento o congestionado

El primer dígito indica si es información, se completó, se redirecciona, si es error del cliente o servidor.

Http response

  • Respuestas informativas (100–199)

  • Respuestas satisfactorias (200–299)

  • Redirecciones (300–399)

  • Errores de los clientes (400–499)

  • Errores de los servidores (500–599)

Las cabeceras (en inglés headers) HTTP permiten al cliente y al servidor enviar información adicional junto a una petición o respuesta. (https://developer.mozilla.org/es/docs/Web/HTTP/Headers)

HTTP: Hypertext Transfer Protocol

Excelente clase!! 🏆

excelente,

😄

http

Los estados HTTP se agrupan de la siguiente manera:

  1. Respuestas informativas (100–199),
  2. Respuestas satisfactorias (200–299),
  3. Redirecciones (300–399),
  4. Errores de los clientes (400–499),
  5. Errores de los servidores (500–599).

Estas cabeceras las encontré en MDN, dejo el link de la fuente al final del comentario:

  • Authorization: Contiene las credenciales para autenticar un cliente con el servidor.
  • Cache-Control: Directivas para el mecanismo de caché tanto en la respuesta como en la solicitud.
  • Cookie: Contiene las cookies HTTP almacenadas que fueron enviadas previamente por el servidor usando la cabecera Set-Cookie.
  • Set-Cookie: Envía cookies desde el servidor hacia el cliente
  • Location: Indica la URL a donde redireccionar la página.

Fuente: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers

Hola a [email protected] Comparto con ustedes el siguiente link, espero que les sea de utilidad. https://httpstatuses.com/

Encontré estas cabeceras:

Age: indica el tiempo que ha estado el objeto servidor almacenado en un proxy cache (en segundos)
Cache-control: lo usa el servidor para decirle al navegador que objetos cachear, durante cuanto tiempo, etc…
Content-Encoding: se indica el tipo de codificación empleado en la respuesta
Expires: indica una fecha y hora a partir del cual la respuesta HTTP se considera obsoleta. Location: usado para especificar una nueva ubicación en casos de redirecciones.
P3P: se usa para especificar el tipo de política de privacidad empleado en la web. No está muy extendido.
Set-Cookie: sirve para crear cookies. Las famosos cookies viajan entre el servidor y el navegador a través de estas cabeceras HTTP.
Existen otras cabeceras no estándar como:
X-Powered-by: usado para especificar con que software se ha generado la respuesta por parte del servidor. Algunos plugins de WordPress como W3 Total Cache añade su propia cabecera X-Powered-By.
X-Pingback: Cabecera HTTP que añade WordPress donde especifica la dirección de pingback del blog.

Respuestas informativas (100–199)
Respuestas satisfactorias (200–299)
Redirecciones (300–399)
Errores de los clientes (400–499)
Errores de los servidores (500–599)

Que seria HTTPS ?

Yo también vi algunos datos al respecto pero creo que me quedo con los siguientes que me parecen muy completos

Status code 200 - OK = La petición de datos ha sido exitosa.
Status code 202 - Acepted = La información enviada ha sido recibida, y preparada para procesarse. Status code 301 - Moved Permanently = La uri que se quiere acceder, obtuvo una actualización y ya se encuentra con otro nombre.
Status code 400 - Bad Request = El servidor no pudo entender la petición realizada por el cliente. Status code 403 - Forbidden = El cliente no posee los permisos necesarios para realizar esta petición. Status code 404 - Not Found = El servidor no encontro la información solicitada por el cliente.
Status code 500 - Internal Server Error = El error tuvo un error al momento de procesar la petición. Status code 503 - Service unavailable= El servidor se encuentra en mantemiento o aún no está listo para recibir peticiones.

Con respecto a las cabeceras de una petición Http las más comunes que he visto son:
Authorization = Utilizada para enviar la llave de acceso de un usuario al servidor, y poder autenticarlo. Accept = Especifica el tipo de dato que se envía de respuesta.
Access-Control-Allow-Origin = Especifica que la respuesta del servidor a quienes puede ser compartida
Content-Length = Especifica el tamaño en caracteres de la respuesta obtenida
Content-Type = Especifica el tipo de dato enviado en la petición http.
User-Agent = Especifica que tipo y versión de navegador, aplicación o sistema operativo fue el que realizó la petición al servidor.
Referer = Indica desde cual página fue re-direccionada la petición.

Etag:

  • Permite a la memoria caché ser más eficiente, y ahorrar ancho de banda, en tanto que un servidor web no necesita enviar una respuesta completa si el contenido no ha cambiado.
  • Por otro lado, si el contenido cambió, los etags son útiles para ayudar a prevenir actualizaciones simultáneas de un recurso de sobre-escribirlo por otro (“colisiones en el aire”).

Las Cabeceras pueden ser agrupadas de acuerdo a sus contextos:

-Cabecera general: Cabeceras que se aplican tanto a las peticiones como a las respuestas, pero sin relación con los datos que finalmente se transmiten en el cuerpo.

-Cabecera de consulta: Cabeceras que contienen más información sobre el contenido que va a obtenerse o sobre el cliente.

-Cabecera de respuesta: Cabeceras que contienen más información sobre el contenido, como su origen o el servidor (nombre, versión, etc.).

-Cabecera de entidad: Cabeceras que contienen más información sobre el cuerpo de la entidad, como el tamaño del contenido o su tipo MIME.

En éste enlace puden encontrar muchos códigos de estado de respuesta HTTP

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199), Respuestas satisfactorias (200–299), Redirecciones (300–399), Errores de los clientes (400–499), y errores de los servidores (500–599).

Métodos de petición más comunes.



Si bien no es lo que ha pedido como reto, también quería aportar con algo un poco distinto y que quizás se vea más adeltante en el curso y son los métodos con los que podemos trabajar en http

GET -> Consulta de información, sirve para pedir cosas al servidor
POST -> Normalmente utilizado para mandar información al servidor
PUT -> Actualizar por completo un registro, como un usuario, un blog o un comentario
PATCH -> _ Actualizar solo una pequña parte del registro, username, o cosas muy especificas_
DELETE -> Es el método para eliminar algo del servidor

200 OK
La solicitud ha tenido éxito. El significado de un éxito varía dependiendo del método HTTP:
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.
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 permite 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.
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.
204 No Content (en-US)
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.
205 Reset Content (en-US)
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.
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.
207 Multi-Status (WebDAV (en-US))
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.
208 Multi-Status (WebDAV (en-US))
El listado de elementos DAV ya se notificó previamente, por lo que no se van a volver a listar.
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.

Una de las páginas con mayor validez y documentación de JS así como otros temas es Mozilla, les recomiendo una visita y para el tema de HTTP resposes, les comaparto la liga

HTTP Response Status Codes

DNS = Domain name server

IP = Internet Protocol (la identificación única en la web de nuestra computadora)
TCP = Transmission Control Protocol (el cómo se va a transferir la info)
UDP = User Datagram Protocol (muy parecido a TCP)
TLS = Transport Layer Security (encriptación de datos entre cliente - servidor)
DNS = Domain Name System (transforma el nombre del dominio a la dirección IP del servidor del sitio)
HTTP = HyperText Transfer Protocol (Protocolo estándar en la web para transferencia de información y el cómo las páginas web funcionan hoy en día)
HTML = HyperText Markup Language (marcado de texto mediante etiquetas, parte indispensable en la creación de una página web)
CSS = Cascading Style Sheets (le da estilos y diseño a una página)
JavaScript = Lenguaje de programación en el que está escrita la inmensa mayoría de la web y logra una interacción sitio - usuario)
Web API’s = Application Programming Interface (rutinas que sigue un sitio web para funcionar correctamente, como los request y response)

  1. Respuestas informativas (100-199).
  2. Respuestas satisfactorias (200-299).
  3. Redirecciones (300-399).
  4. Errores de los clientes (400-499).
  5. Errores de los servidores (500-599).

Para conocer los status code de la mejor página de programación 💚
https://developer.mozilla.org/es/docs/Web/HTTP/Status

Existen direntes plataformas para poder hacer este tipo de análisis, ya han comentado varias. He encontrado que su eso es cada vez más frecuente en distintas áreas de negocio. Tienen un gran potencial.

WWW-Authenticate: Define el método de autenticación que debería ser usado para tener acceso al contenido. Esta es una cabecera de autenticación.
|
**ETag: ** Se trata de un validador, un tipo de hilo único identificando la versión del recurso. Las peticiones condicionales que usan If-Match y If-None-Match utilizan este valor para cambiar el comportamiento de la petición.

If-Match: Realiza la petición condicional y aplican el método sólo si el recurso almacenado coincide con uno de los ETags asignados.

If-None-Match: Realiza la petición condicional y aplican el método sólo si el recurso almacenado no coincide con ninguno de los ETags. Ésta cabecera se utiliza para actualizar cachés (para peticiones seguras), o para prevenir la subida de un recurso si éste ya existe en el servidor.

Estas tres cabeceras son de tipo Condicionales
|
Content-Length: Indica el tamaño del cuerpo del recurso, expresado en números decimales de octetos, que ha sido enviado al recipiente.

Esta cabecera corresponde al tipo Información del cuerpo(body)
|
|
más información acerca de cabeceras en:
https://developer.mozilla.org/es/docs/Web/HTTP/Headers

Status Code (Clasificación)

  • Respuestas informativas (100–199)
  • Respuestas satisfactorias (200–299)
  • Redirecciones (300–399)
  • Errores de los clientes (400–499)
  • Errores de los servidores (500–599)

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

Algunos ejemplos de Cabeceras HTTP
Warning Una advertencia general sobre problemas de la entidad.
Pragma Implementa cabeceras en donde múltiples efectos se aplica a todo.
Cookie Una cookie enviada previamente por el servidor usando Set-Cookie
**Accept-Encoding ** Lista de codificaciones que se aceptan.
**Proxy-Authorization **Credenciales de autorización para conectarse a un proxy.

Para mas detalle dejo los siguientes enlaces
https://es.wikipedia.org/wiki/Anexo:Cabeceras_HTTP
https://developer.mozilla.org/es/docs/Web/HTTP/Headers

Información de HTTP Headers:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).

****Cabeceras
Authorization: Se usa en los requests, esta transporta las credenciales para autenticar un usuario en un servidor.
Warinng: Se usa para transmitir información acerca de posibles problemas que pueden existir en el proceso de comunicación
Save-Data: Es un flag (booleano), que le indica al servidor si el usuario quiere "ahorrar datos"
Connection: Le indica al servidor si la conexión se mantendrá abierta o establecida despues de recibir una respuesta o si esta será cerrada.
Set-Cookie: Envia las cookies desde el servidor al usuario.

HTTP es la abreviatura de la forma inglesa Hypertext Transfer Protocol, ‘protocolo de transferencia de hipertextos’, que se utiliza en algunas direcciones de internet.

se compone de dos computadores los cuales serán:
Cliente: Quien realiza una petición.
Servidor: Quien responde al servidor.

pla.png

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499), (acá entra el clásico 404 😃 )
y errores de los servidores (500–599).

404 Not found - El recurso solicitado no esta disponible. El usuario se comunica con el servidor pero el contenido/recurso no esta.

403 Fordibben - El acceso al recurso esta prohibido y el servidor esta rechazando tu petición.

500 Internal Server Error - Nombre de error general.503 Service Unavailable - Usualmente un error temporal, el servidor no esta disponible en ese instante. Lo mas frecuente es que sea por sobrecarga de trafico.

504 Gateway timeout - Indica problemas de comunicación servidor a servidor.

para lo que quiere concoer los estados http
existe un sitio geniial

HTTP.CAT

Verbos HTTP

  • GET -> Obtener
  • POST -> Enviar
  • PUT -> Actializar
  • PATCH -> Actualizar parcialmente
  • DELETE -> Eliminar

Codigos de estado HTTP

  • Respuestas informativas (100–199)
  • Respuestas satisfactorias (200–299)
  • Redirecciones (300–399)
  • Errores de los clientes (400–499)
  • Errores de los servidores (500–599)

Se puede hacer peticiones HTTP con curl, pero existe una libreria que se descarga con pip que se llama httpie

http PUT httpbin.org/put X-API-Token:123 name=John

https://httpie.io/

HTTP Status Codes:
1XX (informacional)
2XX (Sucess)
3XX (Redireccionamiento)
4XX (Client Error)
5XX (Server Error)

Códigos de estado HTTP más comunes

Status code 200 – OK.
Status code 301 – Moved Permanently.
Status code 302 – Moved Temporarily.
Status code 403 – Forbidden
Status code 404 – Not Found
Status code 500 – Internal Server Error
Status code 503 ­– Service Unavailable

https://www.ionos.com/digitalguide/hosting/technical-matters/the-most-important-http-status-codes-at-a-glance/

RESUMEN: Fundamentos de la WEB

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

HTTP: Hypertext Transfer Protocol


Conjunto de reglas por el cual dos computadores se comunican. Un cliente y un servidor. El cliente realiza peticiones a servidores.

Una petición se ve así:

# Request
GET / HTTP/1.1
Host: developer.mozilla.org  Accept-Language: fr

# Response  HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT  ETag: "51142bc1-7449-479b075b2891b"
Accept-Ranges: bytes  Content-Length: 29769  Content-Type: text/html
<!DOCTYPE html... (here comes the 29769 bytes of the  requested web page)



HEADERS
Permiten al cliente y el servidor passar información adicional con un request o response HTTP.
Pueden agruparse en las siguientes categorías:

  • Generales : Aplica para request y responses pero no tiene relación con la data transmitida en el cuerpo
  • Request : Contienen más información acerca del recurso a ser fetch (extraer)
  • Response : Contiene información adicional sobre respuestas. Como ubicación o el Server provider.
  • Entity : Contien información acerca del recurso del cuerpo.

Existen muchas cabeceras o headers como:

  • Accept
  • Authorization
  • Link
  • Location
  • Save-Data

Puedes consultar aquí toda la documentación sobre las cabeceras o Headers


HTTP nos permite transportar, HTML, CSS, webAPIs, Js.
Y se vale de protcolos como IP, TCP, UDP para comunicarse con el servidor, mediante TLS se hace la encriptación
Y el DNS asigna nombres a direcciones IP.

STATUS CODE :

Los estados son la forma en que el servidor da respuesta de las peticiones.

1.- Respuestas informativas (100–199).
2.- Respuestas satisfactorias (200–299).
3.- Redirecciones (300–399).
4.- Errores de los clientes (400–499).
5.- Errores de los servidores (500–599).

La siguiente hace parte de la documentación de Mozilla:

STATUS RESPONSE


MANEJO DE STATUS CODES

Una opción rápida para manejarlas es usar la librería Request

Shell*

1. Abre un ambiente virtual.
2. En la carpeta de trabajo: pip install request

Luego en pyhton

## Una idea sobre el manejo de los status Code.

import requests

response_platzi = requests.get('https://api.platzi.com')
print(response_platzi)
# <Response [404]>

if response_platzi.status_code == 200:
    print("Aquí tienes lo que buscas")
elif response_platzi.status_code == 400:
    print("Ups, no puedo darte nada en el momento. Nosotros nunca paramos de mejorar <3")
    

Un artículo para profundizar en cómo manejar la librería request y como manejar los status code:
Request Tutorial

![](statuscode.png

Códigos de estatus:
1xx - INFO
2xx - SECCESS
3xx - REDIRECT
4xx - ERROR CLIENT
5xx - ERROR SERVER
Cabeceras:
ACCEPT: tipos de contenido aceptados
CACHE-CONTROL: políticas de caché
CONNECTION: tipo de conexión
COOKIE: cookies enviadas al servidor
DATE: fecha y hora de petición
HOST: nombre de dominio o dirección IP
UPGRADE: pide que el servidor actualice versión de http

Como aporte, encontrè una agrupaciòn de los còdigos de estado de respuesta de la solicitud desde HTTP:

1.- Respuestas informativas (100–199).
2.- Respuestas satisfactorias (200–299).
3.- Redirecciones (300–399).
4.- Errores de los clientes (400–499).
5.- Errores de los servidores (500–599).

Bueno con respecto a los Status Code, los explicaría de la siguiente forma:
Status code 200 - OK = La petición de datos ha sido exitosa.
Status code 202 - Acepted = La información enviada ha sido recibida, y preparada para procesarse. Status code 301 - Moved Permanently = La uri que se quiere acceder, obtuvo una actualización y ya se encuentra con otro nombre.
Status code 400 - Bad Request = El servidor no pudo entender la petición realizada por el cliente. Status code 403 - Forbidden = El cliente no posee los permisos necesarios para realizar esta petición. Status code 404 - Not Found = El servidor no encontro la información solicitada por el cliente.
Status code 500 - Internal Server Error = El error tuvo un error al momento de procesar la petición. Status code 503 - Service unavailable= El servidor se encuentra en mantemiento o aún no está listo para recibir peticiones.

Con respecto a las cabeceras de una petición Http las más comunes que he visto son:
Authorization = Utilizada para enviar la llave de acceso de un usuario al servidor, y poder autenticarlo. Accept = Especifica el tipo de dato que se envía de respuesta.
Access-Control-Allow-Origin = Especifica que la respuesta del servidor a quienes puede ser compartida
Content-Length = Especifica el tamaño en caracteres de la respuesta obtenida
Content-Type = Especifica el tipo de dato enviado en la petición http.
User-Agent = Especifica que tipo y versión de navegador, aplicación o sistema operativo fue el que realizó la petición al servidor.
Referer = Indica desde cual página fue redireccionada la petición.

HTTP Status Codes
1xx = Informe
2xx = éxito
3xx = Redirección
4xx = Error de Cliente
5xx = Error de Servidor

Headers
Nombre de la cabecera
Accept
Accept-Charset
Accept-Encoding
Accept-Language
Accept-Datetime
Authorization
Cache-Control
Connection
Cookie
Content-Length
Content-MD5
Content-Type
Date
Forwarded
From
Host
Max-Forwards
Origin
Pragma
Proxy-Authorization
Range
Referer [sic]
User-Agent
Upgrade
Warning

En general los Status Code de HTTP son:

1XX: Informational: El servidor informa al cliente que su solicitud está en proceso.
2XX: Succes: Informa una operación exitosa
3XX: Redirection: Muestra que el servidor recibio la solicitud del cliente, sin embargo son necesarios pasos adicionales
**4XX: Cliente Error: **El servidor recibio la solicitud del cliente, sin embargo no se pudo completar.
5XX: Server Error: El servidor fallo al intentar realizar la solicitud

Más información

Cabeceras HTTP:

Existen cabeceras de: Autenticación - Almacenamiento de Caché - Indicaciones sobre el cliente - Condicionales - Gestión de conexiones - Negociación de contenido - Controles - Cookies - CORS - Cabeceras sin seguimiento - Descargas - Mensajes sobre la información del cuerpo - Proxies -Redirecciones - Contextos de petición - Contextos de respuesta - Peticiones de rango - Seguridad - Eventos enviados por el servidor - Codificación de transferencia - WebSockets - Otros

Algunos ejemplos:

  • Last-Event-ID
  • Content-Security-Policy
  • X-Forwarded-Proto
  • Set-Cookie

Más información

Desde mi punto de vista creo que las 4 mas usuales respuestas de status.code son:

  • 200 Todo salio bien
  • 400 Mal requerimiento
  • 401 No existe autorización,esto es muy usual cuando queremos acceder a una Appi sin token
  • 404 Este es con el que menos queremos toparnos y el mas común,que nuestra respuesta no fue encontrada

Investigando un poco más sobre HTTP 2.0 encontré esta imagen que me parece excelente para entenderlo
![](Qué_es_http2.jpg
Está en el artículo de wikipedia de HTTP 2.0
También me pareció interesante saber que se está trabajando en HTTP3.0.
Acá un poco más de información sobre headers HTTP

Y con respecto a los códigos de estado tenemos:

  • Del 100 al 199 Son respuestas informativas.
  • Del 200 al 299 Respuestas satisfactorias.
  • Del 300 al 399 Redirecciones.
  • Del 400 al 499 Errores del cliente.
  • Del 500 al 599 Errores del servidor.

    Dando énfasis en:
  • 100 continue = Indica que todo está bien y que el cliente debe continuar con su solicitud o ignorarla si ya terminó.
  • 200 OK = La solicitud tuvo éxito.
  • 202 Accepted = Se recibió la solicitud, pero no se hace nada mas. Es usada para cuando otro proceso o servidor maneja la solicitud, también sirve para el procesamiento por lotes(batches).
  • 304 Not Modified = Es usada en caché. Le indica al cliente que no se ha modificado. Entonces se sigue usando la misma versión que lo que está guardado en Caché.
  • 404 Not Found = No se encontró el contenido solicitado.
  • 500 Internal server error = el servidor tiene un problema y no sabe como manejarlo.

HTTP Status_code:
Informational responses (100–199)
Successful responses (200–299)
Redirects (300–399)
Client errors (400–499)
Server errors (500–599)

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).

Cuando profe dice que hay muchas más cabeceras HTTP es porque realmente hay muchas más. Mozilla tiene una lista aquí: https://developer.mozilla.org/es/docs/Web/HTTP/Headers

Status code: Son emitidos por un servidor en respuesta a la solicitud de un cliente hecha al servidor.

1xx Informational Response: Una respuesta informativa indica que el pedido fue recibido y entendido.

  • 100-Continue: El servidor recibió la solicitud de encabezados y el cliente debería hacer una petición al body.

[4:40] Donde se ubica HTTP en el entorno de la web.

[2:11] Estructura de una petición http.

[0:49] HTTP: Protocolo de transferencia de hypertexto.

Les dejo esta información acerca de los Status HTTP extraída del siguiente link: https://developer.mozilla.org/es/docs/Web/HTTP/Status

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).
Los códigos de estado se definen en la sección 10 de RFC 2616. Puedes obtener las especificaciones actualizadas en RFC 7231.

En ese mismo link pueden encontrar una descripción detallada de cada status, consulta para cada vez que hagamos un request y no entendamos el código.

Los HTTP Status Codes están agrupados de esta forma:

  • 1xx: Informacionales
  • 2xx: Exitosos
  • 3xx: Redirecciones
  • 4xx: Error de parte del cliente
  • 5xx: Error de parte del servidor

Encontré este Top 10 de los status code de HTTP más utilizados:

  • 200 OK: La solicitud ha tenido éxito.
  • 201 Created: La solicitud se ha cumplido y el recurso se ha creado con éxito.
  • 204 No Content: La solicitud se ha cumplido pero no necesita retornar un cuerpo.
  • 304 Not Modified: En caso de que el cliente realice un GET condicional y el acceso se permita, pero el documento no haya sido modificado.
  • 400 Bad Request: La solicitud no fue entendida por el servidor por una sintaxis malformada.
  • 401 Unauthorized: La solicitud requiere de autenticación.
  • 403 Forbidden: El servidor entendió la solicitud, pero se niega a cumplirla.
  • 404 Not Found: El servidor no encontró nada que coincida con la URI que se le envió.
  • 409 Conflict: La solicitud no pudo ser completada por un conflicto con el estado actual del recurso.
  • 500 Internal Server Error: El servidor encontró una condición inesperada que previene el completar la solicitud.

Fuente: https://www.restapitutorial.com/httpstatuscodes.html

Aquí les dejo un resumen muy completo sobre http:

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

Error 500 es un fallo en la aplicación o en el servidor
Error 403 es un error de permisos
Error 502 hay un fallo en el proxy reverso
Error

X-Forwarded-For : Headers de Proxies transparentes
Content-Security-Policy
Origin : Origen del dominio de la peticion
Access-Control-Allow-Origin: Origenes permitidos dentro de una aplicación hacia un recurso como una API
Referer: URL de donde proviene una petición HTTP

Cabeceras
Age
El tiempo en el que un objeto ha estado en una caché proxy, expresado en segundos.
Cache-Control
Especifica directivas para los mecanismos de almacenamiento en caché, tanto para peticiones como para respuestas.
Expires
La fecha y tiempo tras las cuales una respuesta se considera agotada.
Pragma
Cabecera specífica para implementaciones que puede tener diferentes efectos a lo lartgo del proceso de petición-respuesta. Utilizada para implementar retrocompatibilidad con cachés de tipo HTTP/1.0 donde la cabecera Cache-Control aún no esté presente.
Warning
Un campo de alerta general, que contiene información sobre diferentes problemas posibles.

Status_code
Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).

Códigos de estatus:
100-199 Información
200-299 comando exitosos
300-399 Redirección
400-499 Error del cliente
500-599 Error del servidor

Cabeceras:
Authorization: Contiene las credenciales para autenticar a un usuario con un servidor.
Warning: Un campo de alerta general, que contiene información sobre diferentes problemas posibles.
Last-Modified: Se trata de un validador, indicando la fecha de la última modificación del recurso, utilizado para comparar diferentes versiones del mismo recurso.
Connection: Controla si la conexión a la red se mantiene activa después de que la transacción en curso haya finalizado.
Accept-Charset: Informa al servidor sobre el set de caracteres que el cliente puede entender.

Encontré esta clasificación general en :
https://developer.mozilla.org/es/docs/Web/HTTP/Status

  • Respuestas informativas (100–199),
  • Respuestas satisfactorias (200–299),
  • Redirecciones (300–399),
  • Errores de los clientes (400–499),
  • Errores de los servidores (500–599).
  • 404 Not found - El recurso solicitado no esta disponible. El usuario se comunica con el servidor pero el contenido/recurso no esta.

  • 403 Fordibben - El acceso al recurso esta prohibido y el servidor esta rechazando tu petición.

  • 500 Internal Server Error - Nombre de error general.503 Service Unavailable - Usualmente un error temporal, el servidor no esta disponible en ese instante. Lo mas frecuente es que sea por sobrecarga de trafico.

  • 504 Gateway timeout - Indica problemas de comunicación servidor a servidor.

Status Code de HTTP:

  • Respuestas informativas (100–199),

  • Respuestas satisfactorias (200–299),

  • Redirecciones (300–399),

  • Errores de los clientes (400–499),

  • y errores de los servidores (500–599).

Para las cabeceras de HTTP:

Date:
Server:
X-Powered-By:
P3P:
Expires:
Cache-Control:
Pragma:
Last-Modified:
Vary:
Content-Encoding:
Content-Length:
Keep-Alive:
Connection:
Content-Type:

Sobre el tema de cabeceras, es muy amplio, se puede investigar el tema buscado http heaers.
https://developer.mozilla.org/es/docs/Web/HTTP/Headers

Cabeceras de Servidor - Response:
accept: especifica que tipos de medios de internet son aceptables para asignar preferencias
age: Da la estimacion de la cantidad de tiempo desde que se genero la respuesta
location: redirige al destinatario a una ubicacion que no sea el URI de solicitud para completar la solicitud o identificar un nuevo recurso.
proxy-authenticate: Indica el esquema de autenticacion y los parametros aplicables al proxy
retry-after: indica durante cuanto tiempo se espera que el servicio no este disponible para el solicitante.

Cabeceras importantes:
x-http-forward: para saber de qué ip llegó el request en AWS
Authentication: Para poner algún tipo de autenticación, la más común es Bearer Token o un username y password
x-http-length: te dice el tamaño del objeto que te devolvió
Content: el tipo de contenido que se envía en la petición

Status code

  1. Respuestas informativas (100199),
  2. Respuestas satisfactorias (200299),
  3. Redirecciones (300399),
  4. Errores de los clientes (400499),
  5. y errores de los servidores (500599).
    **
    Cabeceras**
    Content-Type: El navegador entonces decide como interpretar los contenidos basado en esto.

Cache-Control: para especificar directivas las cuales DEBEN de ser obedecidas por todos los mecanismos de cacheo junto a la cadena petición/respuesta
Content-Disposition Este header da instrucciones al navegador de abrir la carga de descarga de archivo, en lugar de intentar analizar el contenido.
Etag- cabecera con proposito de cacheo
Last-Modified: ultima fecha de modificacion del documento

Códigos de estado de respuesta HTTP
Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).

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

2021-03-30_18-22.png

1xx: Respuestas informativas
100 Continue
El navegador puede continuar realizando su petición (se utiliza para indicar que la primera parte de la petición del navegador se ha recibido correctamente).2
101 Switching Protocols
El servidor acepta el cambio de protocolo propuesto por el navegador (puede ser por ejemplo un cambio de HTTP 1.0 a HTTP 1.1).
102 Processing
El servidor está procesando la petición del navegador pero todavía no ha terminado (esto evita que el navegador piense que la petición se ha perdido cuando no recibe ninguna respuesta).2
103 Checkpoint
Se va a reanudar una petición POST o PUT que fue abortada previamente.

2xx: Peticiones correctas
Esta clase de código de estado indica que la petición fue recibida correctamente, entendida y aceptada.

200 OK
Respuesta estándar para peticiones correctas.
201 Createds
La petición ha sido completada y ha resultado en la creación de un nuevo recurso.
202 Accepted
La petición ha sido aceptada para procesamiento, pero este no ha sido completado. La petición eventualmente pudiere no ser satisfecha, ya que podría ser no permitida o prohibida cuando el procesamiento tenga lugar.
203 Non-Authoritative Information (desde HTTP/1.1)
La petición se ha completado con éxito, pero su contenido no se ha obtenido de la fuente originalmente solicitada sino de otro servidor.
204 No Content
La petición se ha completado con éxito pero su respuesta no tiene ningún contenido (la respuesta puede incluir información en sus cabeceras HTTP).
205 Reset Content
La petición se ha completado con éxito, pero su respuesta no tiene contenidos y además, el navegador 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).
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.
207 Multi-Status (Multi-Status, WebDAV)
El cuerpo del mensaje que sigue es un mensaje XML y puede contener algún número de códigos de respuesta separados, dependiendo de cuántas sub-peticiones sean hechas.
208 Already Reported (WebDAV)
El listado de elementos DAV ya se notificó previamente, por lo que no se van a volver a listar.

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.

Las cabeceras del metodo HTTP
Headers HTTP

Status More Common
301 - Moved Permanent
200 - OK
404 - Not Found
302 - Found
403 - Forbidden
451 - Unavailable For Legal Reasons
500 - Internal Server Error

Códigos de estado HTTP más comunes

Status code 200 – OK.
Status code 301 – Moved Permanently.
Status code 302 – Moved Temporarily.
Status code 403 – Forbidden
Status code 404 – Not Found
Status code 500 – Internal Server Error

Aquí las cabeceras HTTP

Status codes de los más comunes:
101 Cambio de protocolos
102 Procesando petición de navegador
204 Petición completada pero sin contenido
308 Redirección permanente, no se cambia el método HTTP
401 Se trata de autenticar el permiso para acceder pero no es posible
407 Falta de autenticación de Proxy
503 Servidor no responde petición por estar en mantenimiento o congestionado

El primer dígito indica si es información, se completó, se redirecciona, si es error del cliente o servidor.

Http response

  • Respuestas informativas (100–199)

  • Respuestas satisfactorias (200–299)

  • Redirecciones (300–399)

  • Errores de los clientes (400–499)

  • Errores de los servidores (500–599)

Las cabeceras (en inglés headers) HTTP permiten al cliente y al servidor enviar información adicional junto a una petición o respuesta. (https://developer.mozilla.org/es/docs/Web/HTTP/Headers)

HTTP: Hypertext Transfer Protocol

Excelente clase!! 🏆

excelente,

😄

http

Los estados HTTP se agrupan de la siguiente manera:

  1. Respuestas informativas (100–199),
  2. Respuestas satisfactorias (200–299),
  3. Redirecciones (300–399),
  4. Errores de los clientes (400–499),
  5. Errores de los servidores (500–599).

Estas cabeceras las encontré en MDN, dejo el link de la fuente al final del comentario:

  • Authorization: Contiene las credenciales para autenticar un cliente con el servidor.
  • Cache-Control: Directivas para el mecanismo de caché tanto en la respuesta como en la solicitud.
  • Cookie: Contiene las cookies HTTP almacenadas que fueron enviadas previamente por el servidor usando la cabecera Set-Cookie.
  • Set-Cookie: Envía cookies desde el servidor hacia el cliente
  • Location: Indica la URL a donde redireccionar la página.

Fuente: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers

Hola a [email protected] Comparto con ustedes el siguiente link, espero que les sea de utilidad. https://httpstatuses.com/

Encontré estas cabeceras:

Age: indica el tiempo que ha estado el objeto servidor almacenado en un proxy cache (en segundos)
Cache-control: lo usa el servidor para decirle al navegador que objetos cachear, durante cuanto tiempo, etc…
Content-Encoding: se indica el tipo de codificación empleado en la respuesta
Expires: indica una fecha y hora a partir del cual la respuesta HTTP se considera obsoleta. Location: usado para especificar una nueva ubicación en casos de redirecciones.
P3P: se usa para especificar el tipo de política de privacidad empleado en la web. No está muy extendido.
Set-Cookie: sirve para crear cookies. Las famosos cookies viajan entre el servidor y el navegador a través de estas cabeceras HTTP.
Existen otras cabeceras no estándar como:
X-Powered-by: usado para especificar con que software se ha generado la respuesta por parte del servidor. Algunos plugins de WordPress como W3 Total Cache añade su propia cabecera X-Powered-By.
X-Pingback: Cabecera HTTP que añade WordPress donde especifica la dirección de pingback del blog.

Respuestas informativas (100–199)
Respuestas satisfactorias (200–299)
Redirecciones (300–399)
Errores de los clientes (400–499)
Errores de los servidores (500–599)

Que seria HTTPS ?

Yo también vi algunos datos al respecto pero creo que me quedo con los siguientes que me parecen muy completos

Status code 200 - OK = La petición de datos ha sido exitosa.
Status code 202 - Acepted = La información enviada ha sido recibida, y preparada para procesarse. Status code 301 - Moved Permanently = La uri que se quiere acceder, obtuvo una actualización y ya se encuentra con otro nombre.
Status code 400 - Bad Request = El servidor no pudo entender la petición realizada por el cliente. Status code 403 - Forbidden = El cliente no posee los permisos necesarios para realizar esta petición. Status code 404 - Not Found = El servidor no encontro la información solicitada por el cliente.
Status code 500 - Internal Server Error = El error tuvo un error al momento de procesar la petición. Status code 503 - Service unavailable= El servidor se encuentra en mantemiento o aún no está listo para recibir peticiones.

Con respecto a las cabeceras de una petición Http las más comunes que he visto son:
Authorization = Utilizada para enviar la llave de acceso de un usuario al servidor, y poder autenticarlo. Accept = Especifica el tipo de dato que se envía de respuesta.
Access-Control-Allow-Origin = Especifica que la respuesta del servidor a quienes puede ser compartida
Content-Length = Especifica el tamaño en caracteres de la respuesta obtenida
Content-Type = Especifica el tipo de dato enviado en la petición http.
User-Agent = Especifica que tipo y versión de navegador, aplicación o sistema operativo fue el que realizó la petición al servidor.
Referer = Indica desde cual página fue re-direccionada la petición.

Etag:

  • Permite a la memoria caché ser más eficiente, y ahorrar ancho de banda, en tanto que un servidor web no necesita enviar una respuesta completa si el contenido no ha cambiado.
  • Por otro lado, si el contenido cambió, los etags son útiles para ayudar a prevenir actualizaciones simultáneas de un recurso de sobre-escribirlo por otro (“colisiones en el aire”).

Las Cabeceras pueden ser agrupadas de acuerdo a sus contextos:

-Cabecera general: Cabeceras que se aplican tanto a las peticiones como a las respuestas, pero sin relación con los datos que finalmente se transmiten en el cuerpo.

-Cabecera de consulta: Cabeceras que contienen más información sobre el contenido que va a obtenerse o sobre el cliente.

-Cabecera de respuesta: Cabeceras que contienen más información sobre el contenido, como su origen o el servidor (nombre, versión, etc.).

-Cabecera de entidad: Cabeceras que contienen más información sobre el cuerpo de la entidad, como el tamaño del contenido o su tipo MIME.

En éste enlace puden encontrar muchos códigos de estado de respuesta HTTP

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199), Respuestas satisfactorias (200–299), Redirecciones (300–399), Errores de los clientes (400–499), y errores de los servidores (500–599).

Métodos de petición más comunes.



Si bien no es lo que ha pedido como reto, también quería aportar con algo un poco distinto y que quizás se vea más adeltante en el curso y son los métodos con los que podemos trabajar en http

GET -> Consulta de información, sirve para pedir cosas al servidor
POST -> Normalmente utilizado para mandar información al servidor
PUT -> Actualizar por completo un registro, como un usuario, un blog o un comentario
PATCH -> _ Actualizar solo una pequña parte del registro, username, o cosas muy especificas_
DELETE -> Es el método para eliminar algo del servidor

200 OK
La solicitud ha tenido éxito. El significado de un éxito varía dependiendo del método HTTP:
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.
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 permite 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.
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.
204 No Content (en-US)
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.
205 Reset Content (en-US)
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.
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.
207 Multi-Status (WebDAV (en-US))
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.
208 Multi-Status (WebDAV (en-US))
El listado de elementos DAV ya se notificó previamente, por lo que no se van a volver a listar.
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.

Una de las páginas con mayor validez y documentación de JS así como otros temas es Mozilla, les recomiendo una visita y para el tema de HTTP resposes, les comaparto la liga

HTTP Response Status Codes

DNS = Domain name server

IP = Internet Protocol (la identificación única en la web de nuestra computadora)
TCP = Transmission Control Protocol (el cómo se va a transferir la info)
UDP = User Datagram Protocol (muy parecido a TCP)
TLS = Transport Layer Security (encriptación de datos entre cliente - servidor)
DNS = Domain Name System (transforma el nombre del dominio a la dirección IP del servidor del sitio)
HTTP = HyperText Transfer Protocol (Protocolo estándar en la web para transferencia de información y el cómo las páginas web funcionan hoy en día)
HTML = HyperText Markup Language (marcado de texto mediante etiquetas, parte indispensable en la creación de una página web)
CSS = Cascading Style Sheets (le da estilos y diseño a una página)
JavaScript = Lenguaje de programación en el que está escrita la inmensa mayoría de la web y logra una interacción sitio - usuario)
Web API’s = Application Programming Interface (rutinas que sigue un sitio web para funcionar correctamente, como los request y response)

  1. Respuestas informativas (100-199).
  2. Respuestas satisfactorias (200-299).
  3. Redirecciones (300-399).
  4. Errores de los clientes (400-499).
  5. Errores de los servidores (500-599).

Para conocer los status code de la mejor página de programación 💚
https://developer.mozilla.org/es/docs/Web/HTTP/Status

Existen direntes plataformas para poder hacer este tipo de análisis, ya han comentado varias. He encontrado que su eso es cada vez más frecuente en distintas áreas de negocio. Tienen un gran potencial.

WWW-Authenticate: Define el método de autenticación que debería ser usado para tener acceso al contenido. Esta es una cabecera de autenticación.
|
**ETag: ** Se trata de un validador, un tipo de hilo único identificando la versión del recurso. Las peticiones condicionales que usan If-Match y If-None-Match utilizan este valor para cambiar el comportamiento de la petición.

If-Match: Realiza la petición condicional y aplican el método sólo si el recurso almacenado coincide con uno de los ETags asignados.

If-None-Match: Realiza la petición condicional y aplican el método sólo si el recurso almacenado no coincide con ninguno de los ETags. Ésta cabecera se utiliza para actualizar cachés (para peticiones seguras), o para prevenir la subida de un recurso si éste ya existe en el servidor.

Estas tres cabeceras son de tipo Condicionales
|
Content-Length: Indica el tamaño del cuerpo del recurso, expresado en números decimales de octetos, que ha sido enviado al recipiente.

Esta cabecera corresponde al tipo Información del cuerpo(body)
|
|
más información acerca de cabeceras en:
https://developer.mozilla.org/es/docs/Web/HTTP/Headers

Status Code (Clasificación)

  • Respuestas informativas (100–199)
  • Respuestas satisfactorias (200–299)
  • Redirecciones (300–399)
  • Errores de los clientes (400–499)
  • Errores de los servidores (500–599)

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

Algunos ejemplos de Cabeceras HTTP
Warning Una advertencia general sobre problemas de la entidad.
Pragma Implementa cabeceras en donde múltiples efectos se aplica a todo.
Cookie Una cookie enviada previamente por el servidor usando Set-Cookie
**Accept-Encoding ** Lista de codificaciones que se aceptan.
**Proxy-Authorization **Credenciales de autorización para conectarse a un proxy.

Para mas detalle dejo los siguientes enlaces
https://es.wikipedia.org/wiki/Anexo:Cabeceras_HTTP
https://developer.mozilla.org/es/docs/Web/HTTP/Headers

Información de HTTP Headers:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499),
y errores de los servidores (500–599).

****Cabeceras
Authorization: Se usa en los requests, esta transporta las credenciales para autenticar un usuario en un servidor.
Warinng: Se usa para transmitir información acerca de posibles problemas que pueden existir en el proceso de comunicación
Save-Data: Es un flag (booleano), que le indica al servidor si el usuario quiere "ahorrar datos"
Connection: Le indica al servidor si la conexión se mantendrá abierta o establecida despues de recibir una respuesta o si esta será cerrada.
Set-Cookie: Envia las cookies desde el servidor al usuario.

HTTP es la abreviatura de la forma inglesa Hypertext Transfer Protocol, ‘protocolo de transferencia de hipertextos’, que se utiliza en algunas direcciones de internet.

se compone de dos computadores los cuales serán:
Cliente: Quien realiza una petición.
Servidor: Quien responde al servidor.

pla.png

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

Respuestas informativas (100–199),
Respuestas satisfactorias (200–299),
Redirecciones (300–399),
Errores de los clientes (400–499), (acá entra el clásico 404 😃 )
y errores de los servidores (500–599).

404 Not found - El recurso solicitado no esta disponible. El usuario se comunica con el servidor pero el contenido/recurso no esta.

403 Fordibben - El acceso al recurso esta prohibido y el servidor esta rechazando tu petición.

500 Internal Server Error - Nombre de error general.503 Service Unavailable - Usualmente un error temporal, el servidor no esta disponible en ese instante. Lo mas frecuente es que sea por sobrecarga de trafico.

504 Gateway timeout - Indica problemas de comunicación servidor a servidor.

para lo que quiere concoer los estados http
existe un sitio geniial

HTTP.CAT

Verbos HTTP

  • GET -> Obtener
  • POST -> Enviar
  • PUT -> Actializar
  • PATCH -> Actualizar parcialmente
  • DELETE -> Eliminar

Codigos de estado HTTP

  • Respuestas informativas (100–199)
  • Respuestas satisfactorias (200–299)
  • Redirecciones (300–399)
  • Errores de los clientes (400–499)
  • Errores de los servidores (500–599)

Se puede hacer peticiones HTTP con curl, pero existe una libreria que se descarga con pip que se llama httpie

http PUT httpbin.org/put X-API-Token:123 name=John

https://httpie.io/

HTTP Status Codes:
1XX (informacional)
2XX (Sucess)
3XX (Redireccionamiento)
4XX (Client Error)
5XX (Server Error)