Lee una petición y una respuesta reales, y aprende qué significan de verdad 200, 404 y 500.
Abrir esta lección en KodokonHTTP (HyperText Transfer Protocol) es el idioma que hablan entre sí el navegador y el servidor. Buena noticia: no es binario incomprensible, es texto legible. Una petición cabe en unas pocas líneas: un verbo, una dirección y luego unas cabeceras que precisan el contexto (qué idioma prefiero, qué navegador utilizo). La respuesta sigue el mismo formato: un código numérico, cabeceras, una línea en blanco y después el contenido.
curl -i https://example.com
HTTP/2 200
content-type: text/html; charset=UTF-8
content-length: 1256
cache-control: max-age=86400
<!doctype html>
<html>
...El verbo que encabeza una petición se llama método, y anuncia tu intención. GET simplemente pide leer un recurso: es lo que hace el navegador cada vez que abres una página. POST envía datos al servidor, típicamente cuando validas un formulario de registro. PUT actualiza un elemento existente, y DELETE pide su eliminación. Quédate sobre todo con los dos primeros: representan la abrumadora mayoría del tráfico.
curl -X POST -d "name=Sarah&age=30" https://httpbin.org/postCada respuesta empieza con un código de estado de tres cifras. La primera cifra basta para entender la situación. Los códigos 2xx anuncian un éxito: 200 quiere decir "aquí tienes lo que has pedido". Los 3xx son redirecciones: 301 significa "esta página se ha mudado, ve mejor allí". Los 4xx señalan un error del cliente: 404 (recurso no encontrado), 403 (acceso prohibido), 401 (tienes que identificarte). Los 5xx señalan un fallo del servidor: 500 es el error interno clásico.
curl -I https://example.com/this-page-does-not-exist
HTTP/2 404
content-type: text/html; charset=UTF-8