(Ab?) Использование пользовательских заголовков http для возврата метаданных о сущности - PullRequest
1 голос
/ 12 октября 2011

Если в дополнение к двоичным данным изображения я хочу также вернуть структуру данных в том же HTTP-ответном сообщении. Эта структура данных будет дополнительно описывать изображение, поэтому принимающее приложение может использовать эту информацию для обработки изображения, если оно того пожелает, каким будет способ сделать это?

При передаче только этой структуры данных без данных изображения, я бы, вероятно, просто возвратил ее как JSON.

  1. Как и любое другое изображение, с image /... Content-Type, но с добавлением пользовательских http-заголовков ответа, содержащих дополнительные данные
  2. Использование application / json (или xml или ...), содержащего структуру данных json и поле, содержащее закодированные двоичные данные изображения
  3. Как метаданные в самом двоичном изображении , хотя это будет зависеть от типа используемого изображения (png отличается от gif и т. Д.)

1) было бы проще всего реализовать как на стороне сервера, так и на стороне клиента, я просто удивляюсь, если это не злоупотребляет заголовками http, ото. возможно, это будет похоже на некоторые стандартные заголовки http, такие как ETags.

2) и 3) не так просты в использовании как на стороне клиента, так и на стороне сервера, и 2) также не будут такими эффективными (ЦП, пропускная способность), как 1) и 3).

Хорошая вещь о 1) и 3) состоит в том, что клиенты, не знающие о метаданных (JS клиент?), Могут по крайней мере отображать изображение.

Есть возражения против 1) от полиции HTTP? Любой другой вариант, который я пропустил?

Ответы [ 2 ]

1 голос
/ 12 октября 2011

4) Content-Type = multipart / mixed. Но если вы используете браузер, см. здесь .

1 голос
/ 12 октября 2011

Если вы создаете свой собственный протокол (клиент и сервер), вы можете делать практически все, что захотите.

Однако я бы не советовал изобретать велосипед; например, рассмотрим поле заголовка Link, используя отношение ссылки, такое как "descriptionby".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...