No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

El lenguaje que habla Internet: HTTP

5/12
Recursos

Aportes 115

Preguntas 3

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

C贸digos de estado de respuesta 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).

xD Si el server me respondiese en 鈥淎rgentino鈥 me dir铆a:

  • Ch茅, gordito. Tom谩 tu aplicaci贸n!



100s: C贸digos informativos que indican que la solicitud iniciada por el navegador contin煤a.
200s: Los c贸digos con 茅xito regresaron cuando la solicitud del navegador fue recibida, entendida y procesada por el servidor.
300s: C贸digos de redireccionamiento devueltos cuando un nuevo recurso ha sido sustituido por el recurso solicitado.
400s: C贸digos de error del cliente que indican que hubo un problema con la solicitud.
500s: C贸digos de error del servidor que indican que la solicitud fue aceptada, pero que un error en el servidor impidi贸 que se cumpliera.

Si no se cual usar yo uso
cat

TCP - Son las siglas de Transmission Control Protocol, es un conjunto de reglas estandarizadas que permiten a los equipos comunicarse en una red como Internet.

**TLS **- Transport Layer Security, seguridad de la capa de transporte es el protocolo sucesor de SSL. Son protocolos criptogr谩ficos, que proporcionan comunicaciones seguras por una red, com煤nmente Internet.鈥

**DNS **- El sistema de nombres de dominio (DNS) es el directorio telef贸nico de Internet. Las personas acceden a la informaci贸n en l铆nea a trav茅s de nombres de dominio

**UDP **- El Protocolo de datagrama de usuario (UDP) es un protocolo ligero de transporte de datos que funciona sobre IP. UDP proporciona un mecanismo para detectar datos corruptos en paquetes, pero no intenta resolver otros problemas que surgen con paquetes, como cuando se pierden o llegan fuera de orden.

HTTP

Hypertext Transfer Protocol

Request

  • Cabezeras: piezas de informacion (Host, Accept-Language)
  • Metodos: GET, POST, PUT, DELETE

Responce

  • body: JSON o diccionarios
  • Header: Status Code, Server: aplicativo que permite distribuir, Date, Etag: hast, cahe, Accept-Rnages: como entregamos la info, Content-Length, Content-Type

5. El lenguaje que habla Internet: HTTP

El lenguaje que habla internet, HTTP: Hypertext Transfer Protocol

Primero veamos la estructura Cliente - Servidor:

Request (petici贸n) y Response (respuesta).

Un request tiene headers (cabeceras)

Existen distintos m茅todos para una request, GET, DELETE, POST, etc.

Aqu铆 un ejemplo Request HTTP:

A esto se responde con un Response, aqu铆 dejo un ejemplo:

Referencia de status code (c贸digo de respuesta):

IP (Internet Protocol), luego por encima viene UDP y TCP, encima vienen TLS (seguridad), luego viene DNS para convertir un dominio en una ip. Por encima corre el protocolo HTTP:

Documentaci贸n (Mozzilla):

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

Me encanto el final!!!
El profe says:

El server env铆a el html, css y javascript al customer para que el mismo mediante su navegador pueda representar la app web, a su vez el customer env铆a un request http al server para que el mismo mediante su API pueda contestar (response) con los datos que van a venir en formato JSON para que el customer pueda aprovecharlos.

Ok, pero alguien se dio cuenta que esta clase es una joya?, realmente muchos conceptos me quedaron claros, el profesor lo explico bastante bien, si hubiera una manera de marcar clases como favoritas esta la hubiera marcado.

Para los que no tomaron el 煤ltimo apunte del profe, aqu铆 esta:

El server env铆a el HTML, CSS y JS al client para que el mismo mediante su navegador pueda representar la web app. A su vez el client env铆a un http request al server para que el mismo mediante su API pueda contestar (response) con los datos que van a venir en formato JSON para que el client pueda aprovecharlos.

es m谩s divertido entender los c贸digos http ac谩 https://httpstatusdogs.com/

Algunos de los codigos de estado HTTP.

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

Aprende c贸digos de estado HTTP con gatitos: HTTP cats

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).

C贸digos de estado HTTP 

Rango:
100-199 Respuestas informativas
200-299 Respuestas satisfactorias
300-399 Redirecciones
400-499 Errores en los clientes
500-599 Errores en los servidores

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

https://http.cat/

Si estos no son los status code, no quiero saber nada

Es la tabla mas completa que encontr茅. Espero les sea de ayuda.

100 Continue
101 Switching Protocols
103 Early Hints
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
307 Temporary Redirect
308 Permanent Redirect
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Payload Too Large
414 URI Too Long
415 Unsupported Media Type
416 Range Not Satisfiable
417 Expectation Failed
418 I鈥檓 a teapot
422 Unprocessable Entity
425 Too Early
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
451 Unavailable For Legal Reasons
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates
507 Insufficient Storage
508 Loop Detected
510 Not Extended
511 Network Authentication Required

HTTP

Hypertext Transfer Protocol, es el protocolo que se usa para hacer peticiones entre un cliente y un servidor. La parte de la petici贸n del cliente al servidor se le conoce como request y la respuesta del servidor se le conoce como response. Existen varios m茅todos para hacer estas peticiones (GET, POST, PUT, PATCH, etc.)

Una clase muy clara y perfecta para entender un poco m谩s lo que hay detr谩s de las aplicaciones qu茅 usamos d铆a a d铆a. Este tema de protocolos si bien es muy importante tener las bases, es algo que normalmente no se explica a profundidad y solo sabemos que las cosas funcionan por que as铆 debe de ser, cuando por detr谩s hay varios protocolos trabajando en capas diferentes para hacer qu茅 los paquetes lleguen de una fuente a un destino. Excelente profe Facundo 馃殌
  • 100-199: Respuesta informativas
  • 200-299: Respuestas satisfactorias
  • 300-399: Redirecciones
  • 400-499: Errores de los clientes
  • 500-599: Errores de los servidores

Respuesta informativa (100-199)
Respuesta satisfactoria (200-299)
Redirecciones (300-399)
Errores de los clientes (400-499)
Errores de los servidores (500-599)

Aqu铆 esta la documentaci贸n oficial de Mozilla de los c贸digos de estado de respuesta HTTP
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),
y errores de los servidores (500鈥599).

Existe un sitio que vincula el significado de los c贸digos de estado de HTTP con im谩genes random de gatos, y me parece incre铆ble el c贸digo 102. Pueden buscarla c贸mo http.cat

HTTPS vendr铆a siendo el mesero educado que comunica la petici贸n del cliente al cocinero y se la lleva.

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

鈫 host: de d贸nde viene la informaci贸n
鈫 accept-language : indica en qu茅 idioma me debe traer la petici贸n (espa帽ol, ingl茅s etc)
鈫 GET: es el m茅todo que utiliza para traer la informaci贸n

respuesta:
鈫 HTTP/1.1 200 OK : la versi贸n de HTTP y el c贸digo de respuesta
鈫 date : fecha de respuesta
鈫 server : aplicativo que permite distribuir la respuesta
鈫 last-modified : la 煤ltima vez que modificamos la respuesta
鈫 Etag : cach茅
鈫 accept-range : el tipo de datos que acepta
鈫 content-length: la cantidad de bytes
鈫 content-type: qu茅 tipo de contenido nos va a dar

Muy buen curso para entender lo que pasa detr谩s de una pagina web

Respuestas satisfactorias
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.

C贸digos de estado de respuesta HTTP
Los c贸digos de estado de respuesta HTTP nos indican si una solicitud HTTP fue completada satisfactoriamente. Se agrupan en 5 clases:
鈥 100 鈥 199: Respuestas informativas
鈥 200 鈥 299: Respuestas satisfactorias.
鈥 300 鈥 399: Redirecciones.
鈥 400 鈥 499: Errores por parte del cliente.
鈥 500 鈥 599: Errores por parte del servidor.

Cuando trabajamos con Django Rest Framework los Status Code tienen algunas opciones extra, https://www.django-rest-framework.org/api-guide/status-codes/ en este enlace pueden ver las diferentes opciones de status code en DRF

Aca un link en donde se encuentran todos los status code disponibles: https://httpstatuses.com/

Dejo los codigos de respuesta HTTP divididos en grupos:

  • 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

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).
Los c贸digos de estado se definen en la secci贸n 10 deRFC 2616. Puedes obtener las especificaciones actualizadas en RFC 7231.

Respuestas informativas
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.
101 Switching Protocol
Este c贸digo se env铆a en respuesta a un encabezado de solicitud Upgrade (en-US) por el cliente e indica que el servidor acepta el cambio de protocolo propuesto por el agente de usuario.
102 Processing (WebDAV (en-US))
Este c贸digo indica que el servidor ha recibido la solicitud y a煤n se encuentra procesandola, por lo que no hay respuesta disponible.
103 Early Hints (en-US)
Este c贸digo de estado est谩 pensado principalmente para ser usado con el encabezado Link, permitiendo que el agente de usuario empiece a pre-cargar recursos mientras el servidor prepara una respuesta.

Respuestas satisfactorias
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.
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 鈥渟in 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.
Redirecciones
300 Multiple Choice (en-US)
Esta solicitud tiene m谩s de una posible respuesta. User-Agent o el usuario debe escoger uno de ellos. No hay forma estandarizada de seleccionar una de las respuestas.
301 Moved Permanently (en-US)
Este c贸digo de respuesta significa que la URI del recurso solicitado ha sido cambiado. Probablemente una nueva URI sea devuelta en la respuesta.
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.
303 See Other (en-US)
El servidor env铆a esta respuesta para dirigir al cliente a un nuevo recurso solicitado a otra direcci贸n usando una petici贸n GET.
304 Not Modified
Esta es usada para prop贸sitos de 鈥渃ach茅鈥. 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茅.
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.
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.
307 Temporary Redirect (en-US)
El servidor env铆a esta respuesta para dirigir al cliente a obtener el recurso solicitado a otra URI con el mismo m茅todo que se us贸 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.
308 Permanent Redirect (en-US)
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.
Errores de cliente
400 Bad Request
Esta respuesta significa que el servidor no pudo interpretar la solicitud dada una sintaxis inv谩lida.
401 Unauthorized
Es necesario autenticar para obtener la respuesta solicitada. Esta es similar a 403, pero en este caso, la autenticaci贸n es posible.
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.
403 Forbidden
El cliente no posee los permisos necesarios para cierto contenido, por lo que el servidor est谩 rechazando otorgar una respuesta apropiada.
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.
405 Method Not Allowed (en-US)
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 deber铆an retornar este c贸digo de error.
406 Not Acceptable (en-US)
Esta respuesta es enviada cuando el servidor, despu茅s de aplicar una negociaci贸n de contenido servidor-impulsado, no encuentra ning煤n contenido seguido por la criteria dada por el usuario.
407 Proxy Authentication Required (en-US)
Esto es similar al c贸digo 401, pero la autenticaci贸n debe estar hecha a partir de un proxy.
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 en cuenta que algunos servidores simplemente desconecta la conexi贸n sin enviar este mensaje.
409 Conflict (en-US)
Esta respuesta puede ser enviada cuando una petici贸n tiene conflicto con el estado actual del servidor.
410 Gone (en-US)
Esta respuesta puede ser enviada cuando el contenido solicitado ha sido borrado del servidor.
411 Length Required (en-US)
El servidor rechaza la petici贸n porque el campo de encabezado Content-Length no esta definido y el servidor lo requiere.
412 Precondition Failed (en-US)
El cliente ha indicado pre-condiciones en sus encabezados la cual el servidor no cumple.
413 Payload Too Large
La entidad de petici贸n es m谩s larga que los l铆mites definidos por el servidor; el servidor puede cerrar la conexi贸n o retornar un campo de encabezado Retry-After.
414 URI Too Long (en-US)
La URI solicitada por el cliente es m谩s larga de lo que el servidor est谩 dispuesto a interpretar.
415 Unsupported Media Type (en-US)
El formato multimedia de los datos solicitados no est谩 soportado por el servidor, por lo cual el servidor rechaza la solicitud.
416 Requested Range Not Satisfiable (en-US)
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.
417 Expectation Failed (en-US)
Significa que la expectativa indicada por el campo de encabezado Expect solicitada no puede ser cumplida por el servidor.
418 I鈥檓 a teapot
El servidor se reh煤sa a intentar hacer caf茅 con una tetera.
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 est谩 configurado para producir respuestas por la combinaci贸n del esquema y la autoridad que est谩n incluidos en la URI solicitada
422 Unprocessable Entity (en-US) (WebDAV (en-US))
La petici贸n estaba bien formada pero no se pudo seguir debido a errores de sem谩ntica.
423 Locked (WebDAV (en-US))
El recurso que est谩 siendo accedido est谩 bloqueado.
424 Failed Dependency (WebDAV (en-US))
La petici贸n fall贸 debido a una falla de una petici贸n previa.
426 Upgrade Required (en-US)
El servidor se reh煤sa a aplicar la solicitud usando el protocolo actual pero puede estar dispuesto a hacerlo despu茅s que el cliente se actualice a un protocolo diferente. El servidor env铆a un encabezado Upgrade en una respuesta para indicar los protocolos requeridos.
428 Precondition Required (en-US)
El servidor origen requiere que la solicitud sea condicional. Tiene la intenci贸n de prevenir problemas de 鈥榓ctualizaci贸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.
429 Too Many Requests (en-US)
El usuario ha enviado demasiadas solicitudes en un periodo de tiempo dado.
431 Request Header Fields Too Large (en-US)
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.
451 Unavailable For Legal Reasons (en-US)
El usuario solicita un recurso ilegal, como alguna p谩gina web censurada por alg煤n gobierno.
Errores de servidor
500 Internal Server Error
El servidor ha encontrado una situaci贸n que no sabe c贸mo manejarla.
501 Not Implemented (en-US)
El m茅todo solicitado no est谩 soportado por el servidor y no puede ser manejado. Los 煤nicos m茅todos que los servidores requieren soporte (y por lo tanto no deben retornar este c贸digo) son GET y HEAD.
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.
503 Service Unavailable
El servidor no est谩 listo para manejar la petici贸n. Causas comunes puede ser que el servidor est谩 ca铆do 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 condici贸n temporal deben usualmente no estar en el cach茅.
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.
505 HTTP Version Not Supported
La versi贸n de HTTP usada en la petici贸n no est谩 soportada por el servidor.
506 Variant Also Negotiates (en-US)
El servidor tiene un error de configuraci贸n interna: negociaci贸n de contenido transparente para la petici贸n resulta en una referencia circular.
507 Insufficient Storage (en-US)
El servidor tiene un error de configuraci贸n interna: la variable de recurso escogida est谩 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.
508 Loop Detected (en-US) (WebDAV (en-US))
El servidor detect贸 un ciclo infinito mientras procesaba la solicitud.
510 Not Extended (en-US)
Extensiones adicionales para la solicitud son requeridas para que el servidor las cumpla.
511 Network Authentication Required (en-US)
El c贸digo de estado 511 indica que el cliente necesita autenticar para ganar acceso a la red.

C贸digos de estado de respuesta HTTP

  • Respuestas informativas聽(100199),
  • Respuestas satisfactorias聽(200299),
  • Redirecciones聽(300399),
  • Errores de los clientes聽(400499),
  • y errores de los servidores聽(500599).

100s: C贸digos informativos que indican que la solicitud iniciada por el navegador contin煤a.
200s: Los c贸digos con 茅xito regresaron cuando la solicitud del navegador fue recibida, entendida y procesada por el servidor.
300s: C贸digos de redireccionamiento devueltos cuando un nuevo recurso ha sido sustituido por el recurso solicitado.
400s: C贸digos de error del cliente que indican que hubo un problema con la solicitud.
500s: C贸digos de error del servidor que indican que la solicitud fue aceptada, pero que un error en el servidor impidi贸 que se cumpliera.

Fuente: https://kinsta.com/es/blog/codigos-de-estado-de-http/

Para obtener m谩s informaci贸n sobre los status code de HTTP pueden consultar el siguiente enlace de MDN.

驴A煤n no reconoces los http responses? Esta aplicaci贸n web ayuda bastante.
https://http.cat/

Most Important Status Code

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

HTTP headers

Hay que tener en cuenta que hay muchos tipos de cabeceras como lo son: Autenticaci贸n, Almacenamiento de cach茅, condicionales, entre otros

Age: El tiempo en el que un objeto ha estado en una cach茅 proxy, expresado en segundos.
ETag: Se trata de un validador, un tipo de hilo 煤nico identificando la versi贸n del recurso. Las peticiones condicionales que usan If-Match (en-US) y If-None-Match (en-US) utilizan este valor para cambiar el comportamiento de la petici贸n.
Cookie: Contiene HTTP cookies enviadas previamente por el servidor con la cabecera Set-Cookie

馃懢

La documentacion de mozilla esta muy completa, para la verificacion de los estados de respuesta de http

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

Quise hacer un aporte haciendo unas expresiones c贸micas de los c贸digos de respuesta
- Informativo
100 - Todo va bien 馃槂

- Satisfactorias
200 - La solicitud tuvo 茅xito 馃槂
201 - Se cre贸 un nuevo recurso con 茅xito 馃槂
202 - Recibimos tu solitictud pero no te podemos dar el resultado del procesado de esa solicitud.
203 - Aqu铆 tienes tu solicitud pero no es de donde la has pedido sino de una copia.
204 - Recibimos la solicitud pero adivina que, no hay contenido en la respuesta :0
205 - Seguro que quieres reiniciar el formulario? Se van a perder los datos!

- Redireccionamiento
300 - Pues vemos que tu solicitud tiene varias respuesta. Escoge una.
301 - Veo que solicitaste esta URI peeero esa URI ha cambiado 馃槂 toma, esta es la nueva.
302 - El recurso de esta URI que est谩s solicitando ha cambiado pero no te preocupes que yo te voy a redireccionar.
303 - Ese link no te va a llevar al recurso m谩s actual. Prueba esta otra.
304 - Mejor usar el que ya tienes en cach茅 馃槂 no se ha modificado el recurso

- Errores
400 - noentiendoloquemeestasdiciendo
401 - Usted no tiene permiso.
403 - Entiendo lo que quieres hacer. Sin embargo, no te lo puedo autorizar
404 - Mejor preguntale a tu mam谩 porque ni yo se donde est谩 eso que est谩s buscando. Y si ni ella lo encuentra es porque no existe.
418 - A caso tengo cara de cafetera?

- Del servidor
500 - Ni yo tengo la menor idea de como manejar mi vida lol
501 - No puedo hacer lo que me est谩s pidiendo.
502 - Todo estaba bien hasta que mir茅 una respuesta inv谩lida mientras era un gateway y por cierto, jajant no puedes hacer nada al respecto 馃槂

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

Veo muchos aportes interesantes, voy a dejar uno que encontr茅 en ingl茅s.

STATUS CODE:

Los estados son la forma en que el servidor da respuesta de las peticiones de los usuarios. La siguiente hace parte de la documentaci贸n de Mozilla: STATUS 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).
.
ejemplos:

  • 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

De acuerdo con MDN, existen 5 c贸digos de estado de respuesta del protocolo HTTP y son:

    • Respuestas informativas (100鈥199),

2.- Respuestas satisfactorias (200鈥299),

3.- Redirecciones (300鈥399),

4.- Errores de los clientes (400鈥499),

5.- y errores de los servidores (500鈥599).

Status codes y lo que indican:
.
Respuestas informativas son los status codes que van desde el 100 al 199.
Respuestas satisfactorias son los status codes que van desde el 200 al 299.
Redirecciones son los status codes que van desde el 300 al 399.
Errores de los clientes son los status codes que van desde el 400 al 499.
Errores de los servidores son los status codes que van desde el 500 hasta el 599.

Hablando de protocolo HTTP, les dejo el API Http Cats. Creo que les va a gustar 馃槃

Les comparto esta p谩gina que describe cada uno de los c贸digos de estado HTTP. https://httpstatuses.com/ Adem谩s, contiene referencias de c贸digo a las librerias http de Python.

Esta clase me ha llevado al curso de fundamentos de ingenier铆a de software que da Freddy.

Fue una clase compleja con muchos conceptos nuevos, el curso de fundamentos de ingenieria del software profundiza totalmente en el tema

codigos de estado HTPP

100-199 = respuesta informativa
200-299= respuestas exitosas
300-399 = redirecciones
400-499= errores del cliente
500-599= errores del servidor.

El error 418 es mi favorito.
Todo desarrollador web deber铆a conocerlo.

Me encanto esta clase, hace tiempo busque informaci贸n sobre http y cabeceras en espa帽ol y no encontr茅 y aqu铆 esta todo y muy bien explicado.

"no es el argentino"
que grande el profe

100-199: Respuesta informativas
200-299: Respuestas satisfactorias
300-399: Redirecciones
400-499: Errores de los clientes
500-599: Errores de los servidores

C贸digos de estado de respuesta 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)

API Responses Codes

1XX Informational Response
100 - 199
Example: 102 - Processing

2XX Success Response
200 - 299
Example: 200 - OK
201 - Created

3XX Redirection Response
300 - 399
Example: Moved permanently

4XX Client Error Response
400 - 499
Example: 400 - Bad request
401 - Unauthorized
403 - Forbidden
404 - Not found

5XX Server Error Reponse
500 - 599
Example: 500 - Internal server error
503 - Service unavailable
504 - Gateway timeout

En RoR se pueden usar simbolos en vez de n煤meros para los estados HTTP. Dejo un repo con los mismos 馃槂

https://gist.github.com/mlanett/a31c340b132ddefa9cca

  • 100鈥199 Respuestas informativas
  • 200鈥299 Respuestas de 茅xito
  • 300鈥399 Respuestas de redirecciones
  • 400鈥499 Respuestas de errores en los clientes
  • 500鈥599 Respuesta de errores en los servidores

!!! Esta parte si que estuvo buena:

Cheeee traeme la aplicaci贸n 鈥 (2:47)

  • clientes: dispositivos al alcance
  • servidor: contiene la aplicaci贸n que se vera atreves del cliente
  • Request
  • Response
    protocolo de transferencia de hyper texto

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:

a) Respuestas informativas (100鈥199),
b) Respuestas satisfactorias (200鈥299),
c) Redirecciones (300鈥399),
d) Errores de los clientes (400鈥499),
e) y errores de los servidores (500鈥599).

Esto me pareci贸 tan claro y acertado que lo copie textualmente
El servidor env铆a el HTML, CSS y JavaScript a un cliente, para que el mismo mediante su navegador pueda representar la Aplicaci贸n Web, a su vez el cliente env铆a una Request HTTP al servidor para que el mismo mediante su API pueda contestar con los datos que van a venir en formato JSON para que el cliente pueda aprovecharlos

Los c贸digos HTTP los pueden encontrar en https://http.cat

Tambi茅n podemos aprender sobre los c贸digos HTTP usando gatitos:

https://http.cat/

Excelente profesor

![](

Aqui les comparto un link con todos los Status Codes y cada una de sus explicaciones -> HTTP Status Codes

La mejor clase del mundo鈥ste profesor es lo m谩ximo!!!
#Nuncaparesdeaprender

C贸digos de respuesta HTTP con gatitos 馃樇

https://http.cat/

Esta clase y la anterior han llenado un vac铆o dentro de mi carrera de Backend, siento que mis ojos han sido abiertos, ahora puedo ver, I鈥檓 on cloud nine!!

Respuestas informativas
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.
101 Switching Protocol
Este c贸digo se env铆a en respuesta a un encabezado de solicitud Upgrade (en-US) por el cliente e indica que el servidor acepta el cambio de protocolo propuesto por el agente de usuario.
102 Processing (WebDAV (en-US))
Este c贸digo indica que el servidor ha recibido la solicitud y a煤n se encuentra procesandola, por lo que no hay respuesta disponible.
103 Early Hints (en-US)
Este c贸digo de estado est谩 pensado principalmente para ser usado con el encabezado Link, permitiendo que el agente de usuario empiece a pre-cargar recursos mientras el servidor prepara una respuesta.
Respuestas satisfactorias
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.
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 鈥渟in 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.
Redirecciones
300 Multiple Choice (en-US)
Esta solicitud tiene m谩s de una posible respuesta. User-Agent o el usuario debe escoger uno de ellos. No hay forma estandarizada de seleccionar una de las respuestas.
301 Moved Permanently (en-US)
Este c贸digo de respuesta significa que la URI del recurso solicitado ha sido cambiado. Probablemente una nueva URI sea devuelta en la respuesta.
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.
303 See Other (en-US)
El servidor env铆a esta respuesta para dirigir al cliente a un nuevo recurso solicitado a otra direcci贸n usando una petici贸n GET.
304 Not Modified
Esta es usada para prop贸sitos de 鈥渃ach茅鈥. 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茅.
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.
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.
307 Temporary Redirect (en-US)
El servidor env铆a esta respuesta para dirigir al cliente a obtener el recurso solicitado a otra URI con el mismo m茅todo que se us贸 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.
308 Permanent Redirect (en-US)
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.
Errores de cliente
400 Bad Request
Esta respuesta significa que el servidor no pudo interpretar la solicitud dada una sintaxis inv谩lida.
401 Unauthorized
Es necesario autenticar para obtener la respuesta solicitada. Esta es similar a 403, pero en este caso, la autenticaci贸n es posible.
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.
403 Forbidden
El cliente no posee los permisos necesarios para cierto contenido, por lo que el servidor est谩 rechazando otorgar una respuesta apropiada.
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.
405 Method Not Allowed (en-US)
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 deber铆an retornar este c贸digo de error.
406 Not Acceptable (en-US)
Esta respuesta es enviada cuando el servidor, despu茅s de aplicar una negociaci贸n de contenido servidor-impulsado, no encuentra ning煤n contenido seguido por la criteria dada por el usuario.
407 Proxy Authentication Required (en-US)
Esto es similar al c贸digo 401, pero la autenticaci贸n debe estar hecha a partir de un proxy.
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 en cuenta que algunos servidores simplemente desconecta la conexi贸n sin enviar este mensaje.
409 Conflict (en-US)
Esta respuesta puede ser enviada cuando una petici贸n tiene conflicto con el estado actual del servidor.
410 Gone (en-US)
Esta respuesta puede ser enviada cuando el contenido solicitado ha sido borrado del servidor.
411 Length Required (en-US)
El servidor rechaza la petici贸n porque el campo de encabezado Content-Length no esta definido y el servidor lo requiere.
412 Precondition Failed (en-US)
El cliente ha indicado pre-condiciones en sus encabezados la cual el servidor no cumple.
413 Payload Too Large
La entidad de petici贸n es m谩s larga que los l铆mites definidos por el servidor; el servidor puede cerrar la conexi贸n o retornar un campo de encabezado Retry-After.
414 URI Too Long (en-US)
La URI solicitada por el cliente es m谩s larga de lo que el servidor est谩 dispuesto a interpretar.
415 Unsupported Media Type (en-US)
El formato multimedia de los datos solicitados no est谩 soportado por el servidor, por lo cual el servidor rechaza la solicitud.
416 Requested Range Not Satisfiable (en-US)
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.
417 Expectation Failed (en-US)
Significa que la expectativa indicada por el campo de encabezado Expect solicitada no puede ser cumplida por el servidor.
418 I鈥檓 a teapot
El servidor se reh煤sa a intentar hacer caf茅 con una tetera.
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 est谩 configurado para producir respuestas por la combinaci贸n del esquema y la autoridad que est谩n incluidos en la URI solicitada
422 Unprocessable Entity (en-US) (WebDAV (en-US))
La petici贸n estaba bien formada pero no se pudo seguir debido a errores de sem谩ntica.
423 Locked (WebDAV (en-US))
El recurso que est谩 siendo accedido est谩 bloqueado.
424 Failed Dependency (WebDAV (en-US))
La petici贸n fall贸 debido a una falla de una petici贸n previa.
426 Upgrade Required (en-US)
El servidor se reh煤sa a aplicar la solicitud usando el protocolo actual pero puede estar dispuesto a hacerlo despu茅s que el cliente se actualice a un protocolo diferente. El servidor env铆a un encabezado Upgrade en una respuesta para indicar los protocolos requeridos.
428 Precondition Required (en-US)
El servidor origen requiere que la solicitud sea condicional. Tiene la intenci贸n de prevenir problemas de 鈥榓ctualizaci贸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.
429 Too Many Requests (en-US)
El usuario ha enviado demasiadas solicitudes en un periodo de tiempo dado.
431 Request Header Fields Too Large (en-US)
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.
451 Unavailable For Legal Reasons (en-US)
El usuario solicita un recurso ilegal, como alguna p谩gina web censurada por alg煤n gobierno.
Errores de servidor
500 Internal Server Error
El servidor ha encontrado una situaci贸n que no sabe c贸mo manejarla.
501 Not Implemented (en-US)
El m茅todo solicitado no est谩 soportado por el servidor y no puede ser manejado. Los 煤nicos m茅todos que los servidores requieren soporte (y por lo tanto no deben retornar este c贸digo) son GET y HEAD.
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.
503 Service Unavailable
El servidor no est谩 listo para manejar la petici贸n. Causas comunes puede ser que el servidor est谩 ca铆do 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 condici贸n temporal deben usualmente no estar en el cach茅.
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.
505 HTTP Version Not Supported
La versi贸n de HTTP usada en la petici贸n no est谩 soportada por el servidor.
506 Variant Also Negotiates (en-US)
El servidor tiene un error de configuraci贸n interna: negociaci贸n de contenido transparente para la petici贸n resulta en una referencia circular.
507 Insufficient Storage (en-US)
El servidor tiene un error de configuraci贸n interna: la variable de recurso escogida est谩 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.
508 Loop Detected (en-US) (WebDAV (en-US))
El servidor detect贸 un ciclo infinito mientras procesaba la solicitud.
510 Not Extended (en-US)
Extensiones adicionales para la solicitud son requeridas para que el servidor las cumpla.
511 Network Authentication Required (en-US)
El c贸digo de estado 511 indica que el cliente necesita autenticar para ganar acceso a la red.

Les dejo como aporte el cl谩sico michi link que los explicamuy gr谩ficamente.

Algunas anotaciones de clase sobre IP, TCP, UDP, TLS Y DNS:

  • IP (Internet Protocol) 鈫 Protocolo fundamental gracias al cual funciona internet. Le da una direcci贸n a cada computadora para que pueda ser encontrada en la red (direcci贸n IP).
  • TCP y UDP 鈫 Sirven para transmitir datos a trav茅s de la IP.
  • TLS 鈫 Sirve para que los datos viajen de forma segura.
  • DNS (Domain Name System) 鈫 Convierte a una direcci贸n IP en un Domino, un nombre entendible para los humanos.

Excelente curso, la verdad

M茅todos de petici贸n HTTP

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. Cada uno de ellos implementan una sem谩ntica diferente, pero algunas caracter铆sticas similares son compartidas por un grupo de ellos: ej. un request method puede ser safe, idempotent (en-US), o cacheable.

GET
El m茅todo GET solicita una representaci贸n de un recurso espec铆fico. Las peticiones que usan el m茅todo GET s贸lo deben recuperar datos.
HEAD
El m茅todo HEAD pide una respuesta id茅ntica a la de una petici贸n GET, pero sin el cuerpo de la respuesta.
POST
El m茅todo POST se utiliza para enviar una entidad a un recurso en espec铆fico, causando a menudo un cambio en el estado o efectos secundarios en el servidor.
PUT

El modo PUT reemplaza todas las representaciones actuales del recurso de destino con la carga 煤til de la petici贸n.

DELETE
El m茅todo DELETE borra un recurso en espec铆fico.
CONNECT

El m茅todo CONNECT establece un t煤nel hacia el servidor identificado por el recurso.

OPTIONS
El m茅todo OPTIONS es utilizado para describir las opciones de comunicaci贸n para el recurso de destino.
TRACE

El m茅todo TRACE  realiza una prueba de bucle de retorno de mensaje a lo largo de la ruta al recurso de destino.

PATCH
El m茅todo PATCH es utilizado para aplicar modificaciones parciales a un recurso.

Errores de servidor
500 Internal Server Error
El servidor ha encontrado una situaci贸n que no sabe c贸mo manejarla.
501 Not Implemented (en-US)
El m茅todo solicitado no est谩 soportado por el servidor y no puede ser manejado. Los 煤nicos m茅todos que los servidores requieren soporte (y por lo tanto no deben retornar este c贸digo) son GET y HEAD.
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.
503 Service Unavailable
El servidor no est谩 listo para manejar la petici贸n. Causas comunes puede ser que el servidor est谩 ca铆do 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 condici贸n temporal deben usualmente no estar en el cach茅.
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.
505 HTTP Version Not Supported
La versi贸n de HTTP usada en la petici贸n no est谩 soportada por el servidor.
506 Variant Also Negotiates (en-US)
El servidor tiene un error de configuraci贸n interna: negociaci贸n de contenido transparente para la petici贸n resulta en una referencia circular.
507 Insufficient Storage (en-US)
El servidor tiene un error de configuraci贸n interna: la variable de recurso escogida est谩 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.
508 Loop Detected (en-US) (WebDAV (en-US))
El servidor detect贸 un ciclo infinito mientras procesaba la solicitud.
510 Not Extended (en-US)
Extensiones adicionales para la solicitud son requeridas para que el servidor las cumpla.
511 Network Authentication Required (en-US)
El c贸digo de estado 511 indica que el cliente necesita autenticar para ganar acceso a la red.

Errores de cliente
400 Bad Request
Esta respuesta significa que el servidor no pudo interpretar la solicitud dada una sintaxis inv谩lida.
401 Unauthorized
Es necesario autenticar para obtener la respuesta solicitada. Esta es similar a 403, pero en este caso, la autenticaci贸n es posible.
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.
403 Forbidden
El cliente no posee los permisos necesarios para cierto contenido, por lo que el servidor est谩 rechazando otorgar una respuesta apropiada.
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.
405 Method Not Allowed (en-US)
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 deber铆an retornar este c贸digo de error.
406 Not Acceptable (en-US)
Esta respuesta es enviada cuando el servidor, despu茅s de aplicar una negociaci贸n de contenido servidor-impulsado, no encuentra ning煤n contenido seguido por la criteria dada por el usuario.
407 Proxy Authentication Required (en-US)
Esto es similar al c贸digo 401, pero la autenticaci贸n debe estar hecha a partir de un proxy.
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 en cuenta que algunos servidores simplemente desconecta la conexi贸n sin enviar este mensaje.
409 Conflict (en-US)
Esta respuesta puede ser enviada cuando una petici贸n tiene conflicto con el estado actual del servidor.
410 Gone (en-US)
Esta respuesta puede ser enviada cuando el contenido solicitado ha sido borrado del servidor.
411 Length Required (en-US)
El servidor rechaza la petici贸n porque el campo de encabezado Content-Length no esta definido y el servidor lo requiere.
412 Precondition Failed (en-US)
El cliente ha indicado pre-condiciones en sus encabezados la cual el servidor no cumple.
413 Payload Too Large
La entidad de petici贸n es m谩s larga que los l铆mites definidos por el servidor; el servidor puede cerrar la conexi贸n o retornar un campo de encabezado Retry-After.
414 URI Too Long (en-US)
La URI solicitada por el cliente es m谩s larga de lo que el servidor est谩 dispuesto a interpretar.
415 Unsupported Media Type (en-US)
El formato multimedia de los datos solicitados no est谩 soportado por el servidor, por lo cual el servidor rechaza la solicitud.
416 Requested Range Not Satisfiable (en-US)
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.
417 Expectation Failed (en-US)
Significa que la expectativa indicada por el campo de encabezado Expect solicitada no puede ser cumplida por el servidor.
418 I鈥檓 a teapot
El servidor se reh煤sa a intentar hacer caf茅 con una tetera.
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 est谩 configurado para producir respuestas por la combinaci贸n del esquema y la autoridad que est谩n incluidos en la URI solicitada
422 Unprocessable Entity (en-US) (WebDAV (en-US))
La petici贸n estaba bien formada pero no se pudo seguir debido a errores de sem谩ntica.
423 Locked (WebDAV (en-US))
El recurso que est谩 siendo accedido est谩 bloqueado.
424 Failed Dependency (WebDAV (en-US))
La petici贸n fall贸 debido a una falla de una petici贸n previa.
426 Upgrade Required (en-US)
El servidor se reh煤sa a aplicar la solicitud usando el protocolo actual pero puede estar dispuesto a hacerlo despu茅s que el cliente se actualice a un protocolo diferente. El servidor env铆a un encabezado Upgrade en una respuesta para indicar los protocolos requeridos.
428 Precondition Required (en-US)
El servidor origen requiere que la solicitud sea condicional. Tiene la intenci贸n de prevenir problemas de 鈥榓ctualizaci贸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.
429 Too Many Requests (en-US)
El usuario ha enviado demasiadas solicitudes en un periodo de tiempo dado.
431 Request Header Fields Too Large (en-US)
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.
451 Unavailable For Legal Reasons (en-US)
El usuario solicita un recurso ilegal, como alguna p谩gina web censurada por alg煤n gobierno.

Redirecciones
300 Multiple Choice (en-US)
Esta solicitud tiene m谩s de una posible respuesta. User-Agent o el usuario debe escoger uno de ellos. No hay forma estandarizada de seleccionar una de las respuestas.
301 Moved Permanently (en-US)
Este c贸digo de respuesta significa que la URI del recurso solicitado ha sido cambiado. Probablemente una nueva URI sea devuelta en la respuesta.
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.
303 See Other (en-US)
El servidor env铆a esta respuesta para dirigir al cliente a un nuevo recurso solicitado a otra direcci贸n usando una petici贸n GET.
304 Not Modified
Esta es usada para prop贸sitos de 鈥渃ach茅鈥. 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茅.
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.
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.
307 Temporary Redirect (en-US)
El servidor env铆a esta respuesta para dirigir al cliente a obtener el recurso solicitado a otra URI con el mismo m茅todo que se us贸 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.
308 Permanent Redirect (en-US)
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.

Respuestas satisfactorias
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.
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 鈥渟in 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.

Respuestas informativas
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.
101 Switching Protocol
Este c贸digo se env铆a en respuesta a un encabezado de solicitud Upgrade (en-US) por el cliente e indica que el servidor acepta el cambio de protocolo propuesto por el agente de usuario.
102 Processing (WebDAV (en-US))
Este c贸digo indica que el servidor ha recibido la solicitud y a煤n se encuentra procesandola, por lo que no hay respuesta disponible.
103 Early Hints (en-US)
Este c贸digo de estado est谩 pensado principalmente para ser usado con el encabezado Link, permitiendo que el agente de usuario empiece a pre-cargar recursos mientras el servidor prepara una respuesta.

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).

una manera divertida de aprender protocolos http es visitando la pagina https://http.cat/

Para entender el significado de cada protocolo subyacente a HTTP:

  • IP (Internet Protocol) set the rules of communication over a computer network
  • TCP (Transmission Control Protocol) The responsible for data delivery
  • DNS (Domain name service)
  • UDP (User Datagram Protocol)
  • TLS (Transport layer security)