300 Multiple Choices significa que el recurso de destino tiene más de una representación, cada una con su propia URL, y que el servidor quiere que el usuario o el agente de usuario elija. Los ejemplos típicos son el mismo documento en distintos idiomas o formatos de archivo. El cuerpo debería listar las opciones con enlaces.
Si el servidor tiene una opción preferida, debería enviar esa URL en un encabezado Location. La RFC 9110 permite que los agentes de usuario la sigan automáticamente, pero los navegadores no lo hacen: el estándar Fetch solo sigue los códigos 301, 302, 303, 307 y 308. En su lugar, el usuario ve el cuerpo de la respuesta.
Un 300 se puede almacenar en caché de forma heurística. Como la negociación automática es poco fiable, la mayoría de los sitios eligen ellos mismos una variante y la sirven directamente o usan una redirección normal.
Ejemplo de respuesta
HTTP/1.1 300 Multiple Choices
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: https://www.example.com/guide.en.html
Content-Type: text/html; charset=utf-8
Content-Length: 102
<ul>
<li><a href="/guide.en.html">English</a></li>
<li><a href="/guide.de.html">Deutsch</a></li>
</ul> SEO y verificación de redirecciones
El 300 es poco frecuente y los rastreadores lo admiten mal, así que no confíes en él para dirigir a visitantes o bots. Para servir distintos idiomas, usa URL separadas conectadas con anotaciones hreflang. Si rediriges a los visitantes según el idioma o el dispositivo, usa 302 o 307 y mantén una versión predeterminada a la que puedan llegar los rastreadores. Los navegadores se detienen en un 300, así que trátalo como el final de la cadena cuando audites redirecciones.
Causas frecuentes y casos de uso
- El módulo
mod_spelingde Apache encuentra varios archivos que podrían corresponder a una URL mal escrita y los lista. - La negociación de contenido lista las variantes de idioma o de formato disponibles en lugar de elegir una.
- Una API ofrece un documento en varios formatos y deja que el cliente elija.