#342 · Herramienta para desarrolladores

HTTP Accept Header Parser

Interpreta el encabezado HTTP Accept y ordena los tipos MIME según su prioridad efectiva. Separa media ranges, parámetros y valores q, detecta entradas inválidas y deja visible qué representación preferiría un cliente al negociar contenido con una API o un servidor web.

Datos de entrada

Cabecera Accept
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega solo el valor de la cabecera Accept.
  2. Ejecuta el análisis.
  3. Comprueba las entradas ordenadas por q.
  4. Revisa comodines y parámetros antes de implementar content negotiation.

Qué hace esta herramienta para desarrolladores

Convierte cada media range en una entrada estructurada con tipo, subtipo, parámetros y calidad q. Después ordena de mayor a menor q, manteniendo el orden original cuando dos preferencias tienen la misma calidad.

Cada elemento acepta type/subtype y parámetros separados por punto y coma. q debe estar entre 0 y 1; si falta se interpreta como 1.

La herramienta no decide por sí sola qué representación debe devolver un servidor: esa decisión requiere comparar estas preferencias con los formatos que el endpoint realmente ofrece.

Ejemplo

Entrada

text/html, application/xhtml+xml;q=0.9, application/json;q=0.8, */*;q=0.1

Resultado esperado

La herramienta procesa el ejemplo con la lógica descrita arriba y muestra un resumen estructurado listo para copiar o descargar.

Casos de uso

  • Depurar respuestas 406 Not Acceptable.
  • Diseñar negociación JSON, HTML, XML u otros formatos.
  • Verificar cabeceras generadas por clientes HTTP.

Consejos para obtener resultados fiables

  • No confundas Accept con Content-Type.
  • Usa q entre 0 y 1 con hasta tres decimales por compatibilidad.
  • Recuerda que */* representa cualquier tipo.
  • Si dos formatos tienen el mismo q, el servidor puede aplicar reglas adicionales de especificidad.

Detalles del procesamiento

El parser divide por comas y luego por punto y coma. Valida el patrón type/subtype, extrae q y conserva los demás parámetros para el diagnóstico.

No implementa todo el algoritmo de selección de RFC 9110 contra una lista de representaciones disponibles; organiza y valida las preferencias enviadas por el cliente.

Preguntas frecuentes

¿Cómo se interpreta q=0.8 en la cabecera Accept?

q=0.8 expresa una preferencia menor que q=1 y mayor que, por ejemplo, q=0.5. La herramienta ordena las entradas de mayor a menor q.

¿Qué significa */* en Accept?

Es un comodín que indica que el cliente acepta cualquier tipo de medio, sujeto a su valor q y a otras preferencias más específicas.

¿Accept y Content-Type son la misma cabecera?

No. Accept describe qué formatos de respuesta prefiere el cliente; Content-Type describe el formato del cuerpo que se está enviando.

¿Qué ocurre si q está fuera del rango 0 a 1?

La entrada se marca como inválida porque la calidad debe estar comprendida entre 0 y 1.

¿Cómo depuro un error 406 con la cabecera Accept?

Compara los media ranges y valores q del cliente con los tipos que el endpoint puede producir y revisa si existe al menos una coincidencia aceptable.

Resumen de módulos

MóduloQué muestra
Media rangetype/subtype o comodín
Calidad qPrioridad numérica de 0 a 1
ParámetrosAtributos adicionales por entrada