Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

13 Días
3 Hrs
7 Min
31 Seg

Entender HTTP

4/21
Recursos

Aportes 125

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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

![](

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

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

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

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

Investigando un poco más sobre HTTP 2.0 encontré esta imagen que me parece excelente para entenderlo
![](
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.

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

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

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.

Headers/cabeceras

Cookie:

  • Una cookie enviada previamente por el servidor usando Set-Cookie.
  • La cabecera de respuesta HTTP Set-Cookie se usa para enviar cookies desde el servidor al agente de usuario, así el agente de usuario puede enviarlos de vuelta al servidor.

WWW-Authenticate:

  • La cabezera de la respuesta HTTP WWW-Authenticate define el método de autentificación que debe ser utilizado para acceder al recurso solicitado.
  • La cabezera WWW-Authenticate es enviada junto al estado 401 Unauthorized en la respuesta.

Authorization:

  • La cabecera de petición Authorization contiene las credenciales para autenticar a un usuario en un servidor. De manera general luego de que el servisor haya respondido con un estado 401 unauthorized y la cabecera authenticate.

Connection:

  • Se controla las políticas de caché.
    Ejemplo:
  • Controla si la conexión a la red se mantiene activa después de que la transacción en curso haya finalizado.

Forwarded:

  • Indica la información original del cliente en caso de conexión por proxy.

X-Forwarded-For

  • La cabecera X-Forwarded-For (XFF) es un estándar de facto para identificar el origen de la dirección IP de un cliente conectado a un servidor web a través de un proxy HTTP o un balanceador de carga. Cuando se intercepta el tráfico entre cliente y servidores, los registros de los servidores de acceso contienen sólo la dirección IP del proxy o del balanceador de carga. Para ver la dirección IP original del cliente, se utiliza la cabecera X-Forwarded-For.

Esta cabecera se usa para la depuración, estadísticas, y la generación de contenido dependiente de la ubicación. De forma deliberada, expone información privada sensible como la dirección IP del cliente. Por lo tanto, debe tenerse en cuenta la privacidad del usuario a la hora de publicar esta cabecera.

Una versión estandarizada de esta cabecera es la cabecera HTTP Forwarded (en-US).

X-Forwarded-For es también una cabecera de correo electrónico que indica que el mismo fue reenviado desde otra cuenta.

Status code

  • 200 - Ok:
    Cuando nos encontramos con un código 200 significa que todo está bien. El cliente introduce una página web, el navegador envía una petición al servidor y recibe el código de estado 200. Como la solicitud se ha realizado correctamente, el resultado se transmite en forma de página web como respuesta.

  • 301 -Redirección permanente:
    Si el contenido de un sitio web se ha cambiado de una URL a otra URL y queremos asegurarnos que la nueva URL va a estar permanentemente accesible, debemos configurar una redirección 301. Esto significa que tanto los visitantes del sitio, así como los motores de búsqueda serán enviados directamente a la nueva dirección.

  • 302 - Found:
    El código de estado 302 fue utilizado anteriormente exclusivamente como una redirección temporal. Desde la introducción de HTML 2 en 2012 sólo siginifica “found”(página encontrada). El servidor recibe una solicitud de un documento y devuelve la respuesta de que el documento ha sido encontrado. No obstante, el navegador sigue interpretando esto como redirecciones temporales, aunque ahora este tipo de redirecciones se encuentran entre los códigos 303 o 307.

  • 307 - Redirección temporal:
    El código 307 se comporta como una redirección 303. La diferencia principal es que el navegador debe seguir el mismo método que en la solicitud original (es decir, un POST seguido de un POST).

Extra fact:
Método GET
Es el método más común. Con él, se envía un archivo al servido, mostrando las variables dentro de la propia URL. Como las variables en la URL se pueden transferir una petición GET para recuperar sólo los datos de acuerdo con la norma y no tiene otros efectos secundarios (como cambios de datos en el servidor o cerrar la sesión). La longitud de la URL es limitada, en función del servidor utilizado, esta no es compatible con más de 255 bytes.

Método POST
El envío es ilimitado, según el contenido del mensaje y en función de las características físicas del servidor utilizado, se guardan grandes cantidades de datos para su posterior procesamiento en el servidor, por ejemplo, parejas de nombre-valor que provienen de un formulario HTML. Puede ser tanto para nuevos recursos en el servidor o para aquellos que modifican los existentes. Los datos posteriores no se almacenan en las memorias caché generales. Además, los datos en el método GET se pueden colgar en la URL en este tipo de transmisión.

Font: https://www.xovi.com/es/codigos-de-estado-http/


Yo econtré esta página donde te describen todos los códigos de http

En esta web puedes ver los distintos Códigos HTTP con fotos de Gatos. Es muy divertido e intuitivo. http.cat

MI INTERPRETACION POR LO QUE INVESTIGUE
Estados de respuesta HTTP:
5 grupos:

*Rango 100-199 - Respuestas Informativas:
Indica los estados entre la comunicacion cliente/servidor.

*Rango 200-299 - Respuestas Satisfactorias:
Indica que la informacion fue recibida y cómo fue recibida.

*Rango 300-399 - Redirecciones:
Indica que la informacion vino de distintas fuentes, ya sean por modificaciones/mantenimientos en el servidor , etc.

*Rango 400-499 - Errores de los clientes:
Aparecen cuando la informacion solicitada no existe en el servidor ó errores de interpretacion de la solicitud hecha por el cliente.

*Rango 500-599 - Errores de los servidores:
Errores/Fallas , desactualizaciones en el servidor.

HTTP HEADERS:
.
En total, hay casi 100 campos de cabecera HTTP, de los cuales unos 30 sirven para especificar solicitudes HTTP, otros 30 para la respuesta del servidor y toda una serie de otros campos de cabecera que tienen diferentes propósitos y que, en su mayoría, no son utilizados por usuarios comunes.
.
5 de ellos pueden ser:

  • Accept-Encoding: Qué formatos comprimidos soporta el cliente
    .
  • Authorization: Datos de autenticación (por ejemplo, para un inicio de sesión)
    .
    Host: Nombre de dominio del servidor
    .
    Referrer: URL del recurso del que procede la solicitud (es decir, del que se hizo el enlace)
    .
    TE: Codificación de transferencia aceptada
    .
    Fuente:
    https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/cabecera-http/
  • 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

Las cabeceras HTTP permiten al cliente y servidor a enviar información adicional junto a una petición o respuesta.

Investigando pude descubrir que es importante analizar las cabeceras http, ya que nos permite descubrir direccionamientos sospechosos, o problemas de control en cache, programación inadecuada, etc.
Encontre un sitio para poder analizar las URL y obtuve lo siguiente:

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

Pueden ver esta pagina de estados HTTP
https://http.cat/

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.

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.

  1. 200 OK: Indica que la solicitud se ha realizado correctamente y el servidor ha enviado una respuesta exitosa.

  2. 301 Moved Permanently: Indica que el recurso solicitado se ha movido permanentemente a una nueva ubicación. El cliente debe redirigir sus solicitudes a la nueva URL proporcionada.

  3. 400 Bad Request: Indica que la solicitud del cliente es incorrecta o no se puede procesar por parte del servidor debido a un error en la sintaxis o los parámetros de la solicitud.

  4. 404 Not Found: Indica que el recurso solicitado no se encuentra en el servidor. Es el código de estado comúnmente asociado con una página o recurso que no existe.

  5. 500 Internal Server Error: Indica que ha ocurrido un error interno en el servidor y no puede completar la solicitud del cliente.

  6. 302 Found: Indica que el recurso solicitado se ha movido temporalmente a una nueva ubicación. El cliente debe redirigir sus solicitudes a la nueva URL proporcionada, pero la dirección original aún puede ser válida en el futuro.

  7. 503 Service Unavailable: Indica que el servidor no puede manejar la solicitud en ese momento debido a una sobrecarga temporal o mantenimiento programado.

Headers :

  • Date
  • Content - language
  • Content - type
  • :Path:

Ahora como herramienta también tenemos browse ai para hacer webscraping

Siempre presente la pagina de los gatitos!
https://http.cat/
https://http.cat/401

HTTP: Hypertext Transfer Protocol

  • Es un protocolo, es decir, un conjunto de reglas, en cual un cliente y servidor se pueden comunicar en la red
  • Estructura http
  • Códigos 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
  • Existen varios protocolos por debajo de la capa en la que trabaja HTTP (IP, TCP, DNS, entre muchos otros)
  • HTTP: Nos permite transportar html, css, js, etc…

Algunos de los más importantes status code:
200 OK: La solicitud fue exitosa y el servidor ha devuelto el contenido solicitado.
201 Created: La solicitud ha sido completada y ha resultado en la creación de un recurso.
204 No Content: La solicitud fue exitosa pero no hay contenido para devolver.
400 Bad Request: La solicitud no es válida.
401 Unauthorized: El usuario no está autorizado para acceder al recurso.
403 Forbidden: El servidor entiende la solicitud pero se niega a autorizarla.
404 Not Found: El recurso solicitado no se encuentra en el servidor.
500 Internal Server Error: Un error interno del servidor ha impedido que se complete la solicitud.

Cabeceras
Cookie
Age
Path
Method
Strict-transport-security

Ubicacion de HTTP en la Web

  • IP: Internet Protoccolo. Desde donde salen las direcciones ipv4 e ipv6 que identifica de manera unica nuestra computadora en la red.
  • TCP: Transmission Control Protoccolo es un protocolo que establece como se va a transferir la informacion a bajo nivel
  • UDP: User Data Protoccolo muy similar a TCP
  • TLS: Transport Layer Security esta relacionado con el encriptado de la informacion
  • DNS: Domain Name System es lo que asocia un nombre de dominio a un IP. Transforma el nombre de la pagina en una direccion IP para que pueda ser encontrada
  • HTTP : Permite transportar HTML, CSS, Web APIs y Javascript

La web funciona bajo el protocolo HTTP. El navegador web utiliza este protocolo para comunicarse con el servidor Web donde está alojada la web.
Cada petición HTTP que el navegador realiza al servidor, se divide en 2 partes:
• Las cabeceras (Headers).
• El cuerpo de la respuesta (Response body).
En el cuerpo de la respuesta está el código HTML, CSS, Javascript, etc… necesario para que la web se vea y funcione.
Además, en cada petición tanto el navegador como el servidor envían unas cabeceras que sirven para configurar diversos comportamientos, o simplemente para dejar alguna marca con información.
Ejemplos de cabeceras:
• Date: Indica la fecha y hora exacta a la que el servidor ha realizado la respuesta para que conste (la hora del servidor).
• Content-type: El Tipo Mime de la respuesta (en caso de que sea una respuesta), o del contenido subido vía POST/PUT (en caso de que sea una Request).
• Content-Length: El tamaño de la respuesta en octetos (8 bits).
• Server: indica el tipo de servidor HTTP empleado.
• 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. Se usa para gestionar caché.
• Location: se usa para especificar una nueva ubicación en casos de redirecciones.
• Set-Cookie: sirve para crear cookies. Las famosos cookies viajan entre el servidor y el navegador a través de estas cabeceras HTTP.

**Tarea: **

  • El encabezado de respuesta Access-Control-Allow-Origin indica si los recursos de la respuesta pueden ser compartidos con el origen (en-US) dado.

  • La cabecera de petición Authorization contiene las credenciales para autenticar a un usuario en un servidor, usualmente luego de que el servidor haya respondido con un estado 401 Unauthorized y la cabecera WWW-Authenticate.

  • La solicitud de cabecera del Agente de Usuario contiene una cadena característica que permite identificar el protocolo de red que ayuda a descubrir el tipo de aplicación, sistema operativo, provedor del software o laversión del software de la petición del agente de usuario.

  • El encabezado Cookie de una solicitud HTTP contiene cookies HTTP almacenadas y enviadas previamente por el servidor con el encabezado (header) Set-Cookie

Fuente: MDN WebDocs

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

Respuestas informativas (algunas de ellas):

  • 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
  • 200 OK: La solicitud ha tenido éxito. El significado de un éxito varía dependiendo del método HTTP
  • 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
  • 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
  • 500 Internal Server Error: El servidor ha encontrado una situación que no sabe cómo manejarla

200: «Todo está bien». Este es el código que se entrega cuando una página web o recurso actúa exactamente como se espera.
201: «Creado». …
202: «Aceptado». …
203: «Información no autorizada». …
204: «Sin contenido». …
205: «Restablecer el contenido». …
206: «Contenido parcial».
Fuente: kinsta

Uf existe una cantidad considerable de cabceras, MDN mozilla nos entrega este recurso
HTTP headers

Los encabezados sirven para que las paginas crean que eres un usuario real y asi evitar que te bloqueen al momento de realizar el scraping

https://datatracker.ietf.org/doc/html/rfc2616#section-10.

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

Links sacados de algunos compañeros del curso 🚀
👾

Status-Code =
“100” ; Section 10.1.1: Continue
| “101” ; Section 10.1.2: Switching Protocols
| “200” ; Section 10.2.1: OK
| “201” ; Section 10.2.2: Created
| “202” ; Section 10.2.3: Accepted
| “203” ; Section 10.2.4: Non-Authoritative Information
| “204” ; Section 10.2.5: No Content
| “205” ; Section 10.2.6: Reset Content
| “206” ; Section 10.2.7: Partial Content
| “300” ; Section 10.3.1: Multiple Choices
| “301” ; Section 10.3.2: Moved Permanently
| “302” ; Section 10.3.3: Found
| “303” ; Section 10.3.4: See Other
| “304” ; Section 10.3.5: Not Modified
| “305” ; Section 10.3.6: Use Proxy
| “307” ; Section 10.3.8: Temporary Redirect
| “400” ; Section 10.4.1: Bad Request
| “401” ; Section 10.4.2: Unauthorized
| “402” ; Section 10.4.3: Payment Required
| “403” ; Section 10.4.4: Forbidden
| “404” ; Section 10.4.5: Not Found
| “405” ; Section 10.4.6: Method Not Allowed
| “406” ; Section 10.4.7: Not Acceptable
| “407” ; Section 10.4.8: Proxy Authentication Required
| “408” ; Section 10.4.9: Request Time-out
| “409” ; Section 10.4.10: Conflict
| “410” ; Section 10.4.11: Gone
| “411” ; Section 10.4.12: Length Required
| “412” ; Section 10.4.13: Precondition Failed
| “413” ; Section 10.4.14: Request Entity Too Large
| “414” ; Section 10.4.15: Request-URI Too Large
| “415” ; Section 10.4.16: Unsupported Media Type
| “416” ; Section 10.4.17: Requested range not satisfiable
| “417” ; Section 10.4.18: Expectation Failed
| “500” ; Section 10.5.1: Internal Server Error
| “501” ; Section 10.5.2: Not Implemented
| “502” ; Section 10.5.3: Bad Gateway
| “503” ; Section 10.5.4: Service Unavailable
| “504” ; Section 10.5.5: Gateway Time-out
| “505” ; Section 10.5.6: HTTP Version not supported

Para profundizar más dejo el enlace del documento: https://datatracker.ietf.org/doc/html/rfc2616#page-34

Aqui mi aporte creado en Notion, espero les pueda servir de ayuda 😃

Fuentes

Las cabeceras (en inglés headers) HTTP permiten al cliente y al servidor enviar información adicional junto a una petición o respuesta. Una cabecera de petición esta compuesta por su nombre (no sensible a las mayusculas) seguido de dos puntos ‘:’, y a continuación su valor (sin saltos de línea). Los espacios en blanco a la izquierda del valor son ignorados
Se pueden agregar cabeceras propietarias personalizadas usando el prefijo ‘X-’, pero esta convención se encuentra desfasada desde Julio de 2012, debido a los inconvenientes causados cuando se estandarizaron campos no estandar en el RFC 6648; otras están listadas en un registro IANA, cuyo contenido original fue definido en el RFC 4229, IANA tambien mantiene un registro de propuestas para nuevas cabeceras HTTP
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.

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

Códigos de estado HTTP más comunes
Status code 200 – OK.
Status code 202 - Acepted
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

REPASO: Que aprendimos en esta clase?
.

1- Que es una IP y para que sirve?
2- Que es TCP?
3- Para que sirve TLS?
4- Que hace el DNS?
5- En que lugar se encuentra HTTP, en el organigrama de protocolos de intenet?
6- HTTP conecta las tecnologias WEB con Internet?
R: Verdadero / Falso
7- Que es HTML?
8- Web Scraping usa de alguna manera HTML?
R: Verdadero / Falso
9- Que es CSS?
10- Que son Web Api’s?
11- Que funcion cumple Javascript?

Los status code nos informan del estado de un recurso al hacer **Request (peticion) ** a un **Endpoint **(url del recurso), estos mismos estados vienen el **Response **(respuesta) que nos da el servidor, informandonos si el recurso existe, NotFound (no existe) o no tenemos permisos para acceder a el,

Statuscode Significado
200 OK
301 Redirección permanenze
302 Encontrado
303 See other– Mirar en otra página
307 Redirección temporal
404 No encontrado
410 No encontrado permanentemente
500 Error del servidor
503 Servidor no responde

Para lo que se solicito en esta clase revise la lista de Status code de Wikipedia. Me percate de algo interesante y es que el número inicial es el que nos indica la clase de respuesta. Por ejemplo en el caso de 1xx nos indica que tenemos que esperar una respuesta; en el caso de 2xx nos indica el exito de conectarnos a la página web; 3xx nos indica redirección; en los casos de 4xx 5xx nos indican errores, en el caso de 4xx son errores del cliente, mientras que 5xx son errores del servidor.
En el caso de las cabeceras yo encontre las siguientes:

  • Age: que es el tiempo en que un objeto ha estado en cache proxy en milisegundo.
  • Expires: que es la fecha y el tiempo en que una respuesta se considera agotada.
  • ETag: es un validador.
  • Conecction (en-US): este nos indica si la conexión a la red se mantiene activa después de que la transacción en curso haya finalizado.
  • Keep Alive: controla el tiempo en que una conexión debe permanecer abierta.

Muy buena clase y aportes de los compañeros.

Comprensión de los tipos de código de estado HTTP

Los códigos de estado HTTP se dividen en 5 «tipos». Se trata de agrupaciones de respuestas que tienen significados similares o relacionados. Saber qué son puede ayudarte a determinar rápidamente la sustancia general de un código de estado antes de que vayas a buscar su significado específico.

Las cinco clases incluyen:

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.
Dentro de cada una de estas tipos, existe una variedad de códigos de servidor y pueden ser devueltos por el servidor. Cada código individual tiene un significado específico y único, que cubriremos en la lista más detallada a continuación.
Link de fuente

Aquí unos ejemplos de cabeceras. Las obtuve de Wikipedia

Comparto estos Links con información acerca de los códigos de estado HTTP y cabeceras.

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

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

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 tod@s. 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.