Какова точная структура ответа для кода состояния HTTP 300 (множественный выбор)?

Когда пользователь щелкает ссылку на рисунок на моем сайте 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 для автоматического перенаправление. Этот ответ кэшируется, если не указано иное.

Формулировка « объект, содержащий список характеристик ресурса и местоположения » кажется неоднозначной.Что это значит? Кто-нибудь знает, как это делается?

10
задан Roy Sharon 18 January 2012 в 10:18
поделиться