Узел JS Правильный тип контента для ответов - PullRequest
2 голосов
/ 17 мая 2011

Есть ли причина, по которой я не должен отправлять свой тип контента как двоичный файл для всего? Я немного наивен по поводу правильного http, но, похоже, это работает для всего. С какими подводными камнями я столкнусь, работая таким образом?

Ответы [ 2 ]

4 голосов
/ 17 мая 2011

Если вы отправите таблицу стилей в виде двоичного типа содержимого, IE9 не будет отображать ее. Он отказывается отрисовывать любую таблицу стилей, которая не является text / css. Этого, вероятно, достаточно, чтобы люди не посещали ваш сайт с IE9.

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

http://blogs.msdn.com/b/ieinternals/archive/2011/03/27/http-406-not-acceptable-php-ie9-standards-mode-accepts-only-text_2f00_css-for-stylesheets.aspx

Редактировать Здесь вы можете использовать это, это облегчит определение типа контента. Модуль будет иметь два метода. getExt и getContentType. Если вы передадите расширение getContentType, оно вернет Content-Type для этого файла. Я не тот, кто скомпилировал все типы контента, к сожалению, я забыл, где я его нашел ...

https://gist.github.com/976610

2 голосов
/ 17 мая 2011

Если вы укажете правильный тип контента, приложение / браузер, запрашивающий файл, сможет обработать его правильно

Например, если вы загружаете файл PDF, браузер знает, как обрабатывать тип контента«application / pdf» и откроет файл прямо в браузере, если он не знает тип, он просто попросит вас загрузить файл

Браузер также позволит вам указать конкретную программу, из которой выможет открыть файл определенного типа, например, если вы загружаете торрент-файл, вы можете указать браузеру открыть его с помощью uTorrent, и при следующей загрузке торрент-файла он также будет открыт непосредственно с помощью uTorrent

В Node.js вы можете получить тип содержимого файла, выполнив следующие действия:

type = require('mime').lookup(path);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...