Когда пользователь щелкает ссылку на рисунок на моем сайте http://mysite.com/some-drawing
,
Я хочу, чтобы мой сервер ответил кодом состояния 300 и двумя местоположениями ресурсов: http://mysite.com/some-drawing.png
и http://mysite.com/some-drawing .myapp
, и клиентский браузер автоматически решает, какой из них использовать, в зависимости от его возможностей:
Если MyApp установлен на машине пользователя, браузер должен загрузить *.myapp
версию и используйте MyApp для ее отображения.
Однако, если MyApp не установлен, и браузер не может отображать эту версию, я бы хотел, чтобы он выбрал версию *. Png
.
Однако мне сложно понять структуру HTTP-ответа с кодом состояния 300.
rfc2616 говорит:
Запрошенный ресурс соответствует любому из набора из представительства, каждое со своим конкретным местоположением, и агент- информация о переговорах (раздел 12) предоставляется для того, чтобы пользователь (или пользовательский агент) может выбрать предпочтительное представление и перенаправить свой запрос в это место.
Если это не запрос HEAD, ответ ДОЛЖЕН включать объект содержащий список характеристик ресурсов и местоположений из который пользователь или пользовательский агент может выбрать наиболее подходящий. В формат объекта определяется типом носителя, указанным в Content- Введите поле заголовка. В зависимости от формата и возможностей агент пользователя, выбор наиболее подходящего варианта МОЖЕТ быть выполняется автоматически. Однако эта спецификация не определяет любой стандарт для такого автоматического выбора.
Если у сервера есть предпочтительный выбор представления, он ДОЛЖЕН включить конкретный URI для этого представления в Location поле; пользовательские агенты МОГУТ использовать значение поля Location для автоматического перенаправление. Этот ответ кэшируется, если не указано иное.
Формулировка « объект, содержащий список характеристик ресурса и местоположения » кажется неоднозначной.Что это значит? Кто-нибудь знает, как это делается?