В чем разница между: image / x-citrix-pjpeg и image / pjpeg - PullRequest
10 голосов
/ 14 октября 2008

Некоторые файлы загружены с указанным типом MIME:

image/x-citrix-pjpeg

Это допустимые файлы JPEG, и я принимаю их как таковые.

Мне было интересно, однако: почему тип MIME отличается?
Есть ли разница в формате? или этот миметический тип был изобретен какой-то лампочкой в ​​citrix без видимой причины?

Ответы [ 6 ]

12 голосов
/ 14 марта 2009

Обновление:
Хорошо, я провел еще несколько поисков и тестирований по этому вопросу, и оказалось, что все они лгут о MIME-типе (я никогда не доверяю любой информации, отправленной клиентом).
Я проверил кучу файлов с разными кодировками (созданными с помощью libjpeg)

Official MIME-тип для файлов JPEG: image/jpeg

Но некоторые приложения (особенно MS Internet Explores, а также почта Yahoo!) отправляют файлы в формате jpeg как image/pjpeg

Я думал, что знаю, что pjpeg означает «прогрессивный» jpeg. Оказывается, что прогрессивная / стандартная кодировка не имеет к этому никакого отношения.

MS Internet Explorer отправляет все jpeg файлы в формате pjpeg независимо от содержимого файла.

То же самое касается citrix: все jpeg-файлы, отправленные с клиента citrix, указываются как image/x-citrix-pjpeg MIME-тип.

Сами файлы не тронуты (идентичны до и после загрузки). Таким образом, получается, что разница в типе MIME является всего лишь показателем программного обеспечения, использованного для отправки файла?

Зачем людям изобретать новый тип MIME, если нет различий в содержимом файла?

5 голосов
/ 14 октября 2008

image/x-citrix-pjpeg представляется типом MIME, отправляемым изображениями, экспортированными из сеанса Citrix.

Я не встречал различий в формате между ними и обычными JPEG - большинство утилит преобразования изображений будут обрабатывать их так же, как и обычные pjpeg, после добавления соответствующего правила mime-типа.

Возможно, что в сеансе Citrix при управлении jpegs была сделана некоторая внутренняя магия, которая привела их к созданию этого mime-типа, который они оставляют в файле при экспорте из своих систем, но это только мое предположение. Как я уже сказал, я не заметил каких-либо реальных отличий формата от случайных файлов в этом формате, который мы получаем.

2 голосов
/ 08 апреля 2010

Это связано с функцией Citrix, называемой SpeedBrowse, которая перехватывает jpegs и gifs в веб-страницах на стороне сервера [Citrix], так что он может отправлять их целиком через ICA (протокол удаленного взаимодействия Citrix) - это более эффективно чем скрести их. Как было предложено предыдущим постером, это реализовано путем маркировки изображений с измененным типом пантомимы.

IIRC перехватывает FindMimeFromData в IE, чтобы изменить тип пантомимы на лету, но это применяется к загруженным файлам, а также к загруженным - несомненно, ошибка.

2 голосов
/ 19 августа 2009

По какой-то причине, когда люди используют Internet Explorer через Citrix, он меняет тип mime для файлов GIF и JPG.

JPG: image/x-citrix-pjpeg
GIF: image/x-citrix-gif

На основании моего тестирования, файлы PNG не затрагиваются. Я не знаю, является ли это проблемой Internet Explorer или Citrix.

2 голосов
/ 14 октября 2008

Самое близкое, что я узнал, это что-нить Надеюсь, это поможет.

http://forums.citrix.com/message.jspa?messageID=713174

1 голос
/ 21 марта 2012

Из того, что я помню, формат Progressive JPG позволяет форматировать изображение с прогрессивно более высоким разрешением по мере загрузки файла. Я не совсем осведомлен о деталях, но если вы помните, что в те времена, когда вы набирали номер, некоторые файлы выглядели расплывчатыми, а затем лучше и со временем были бы завершены после загрузки. Для этого данные должны быть отправлены в другом порядке, чем обычно отправляется JPEG.

Фактические данные после просмотра идентичны, они просто отправляются в другом порядке. Само кодирование JPEG может очень хорошо сгруппировать пиксели по-разному, я забыл.

...