Cuando un usuario hace clic en un enlace a un dibujo en mi sitio http://mysite.com/some-drawing
, Me gustaría que mi servidor responda con código de estado 300 y dos ubicaciones de recursos: http://mysite.com/some-drawing.png
y http://mysite.com/some-drawing.myapp
, y haga que el navegador del cliente decida automáticamente cuál usar, basado en sus capacidades:¿Cuál es la estructura de respuesta exacta para el código de estado HTTP 300 (opciones múltiples)?
Si MiApl está instalado en la máquina del usuario, el navegador debe descargar la versión
*.myapp
y utilizar MiApl para mostrarlo.Sin embargo, si MyApp no está instalado y el navegador no puede mostrar esta versión, me gustaría que elija la versión
*.png
.
Sin embargo, estoy teniendo un tiempo difícil averiguar la estructura de una respuesta HTTP con código de estado 300.
El rfc2616 dice:
El recurso solicitado corresponde a uno cualquiera de un conjunto de representaciones , cada una con su propia ubicación específica, y agente- información de negociación accionada (sección 12) se proporciona para que el usuario (o agente de usuario) pueda seleccionar una representación preferida y redirecciona su solicitud a esa ubicación.
A menos que fuera una petición HEAD, la respuesta debe incluir una entidad que contiene una lista de características de los recursos y la ubicación (s) a partir de que el agente de usuario o el usuario puede elegir la más apropiada. El formato de entidad se especifica mediante el tipo de medio proporcionado en el campo de encabezado Tipo Content- . Según el formato y las capacidades de el agente de usuario, la selección de la opción más apropiada PUEDE ser realizada automáticamente. Sin embargo, esta especificación no define ningún estándar para dicha selección automática.
Si el servidor tiene una opción preferida de representación, DEBERÍA incluir el URI específico para esa representación en el campo Ubicación ; las agencias de usuario PUEDEN usar el valor del campo Ubicación para el redireccionamiento automático . Esta respuesta es cacheable a menos que se indique lo contrario.
La expresión "entidad que contiene una lista de las características del recurso y la ubicación (s)" parece ambigua. Qué significa eso? ¿Alguien sabe cómo se hace esto?
El rfc dice: "Dependiendo del formato y las capacidades del agente de usuario, la selección de la opción más apropiada PUEDE realizarse automáticamente ". ¿Está diciendo que todos los navegadores más importantes tratan todas las respuestas de estado 300 al mismo tiempo al pedir al usuario que elija manualmente? –
Sí. ¿Conoce un formato que * permita * que el agente de usuario elija por usted? –
Por ejemplo: una entidad tipo "multipart/alternative" metia. Esto es al menos lo que utilizan los clientes de correo electrónico para determinar la mejor opción para presentar al usuario. –