Когда пользователь нажимает ссылку на рисунок на моем сайте 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, ответ ДОЛЖЕН включать объект
содержащий список характеристик ресурса и местоположения
который пользователь или пользовательский агент может выбрать наиболее подходящий.
Формат объекта определяется типом носителя, указанным в
Введите поле заголовка. В зависимости от формата и возможностей
пользовательский агент, выбор наиболее подходящего варианта МОЖЕТ быть
выполняется автоматически. Однако эта спецификация не определяет
любой стандарт для такого автоматического выбора.
Если сервер имеет предпочтительный выбор представления, он ДОЛЖЕН
включить конкретный URI для этого представления в Location
поле; Пользовательские агенты МОГУТ использовать значение поля Location для автоматического
Перенаправление. Этот ответ кэшируется, если не указано иное.
Формулировка « сущность, содержащая список характеристик и местоположений ресурса », выглядит неоднозначно Что это значит? Кто-нибудь знает, как это делается?