Использование Content-disposition в заголовке ответа HTTP
Я нашел следующее asp.net код, который будет очень полезен при обслуживании файлов из базы данных:
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
это позволяет пользователю сохранить файл на свой компьютер, а затем решить, как его использовать, а не браузер пытается использовать файл.
что еще можно сделать с заголовком ответа content-disposition?
6 ответов:
отметим, что RFC 6266 заменяет RFC, указанные ниже. 7 излагаются некоторые из связанных с этим проблем безопасности.
полномочия на заголовок content-disposition-это RFC 1806 и RFC 2183. люди придумали содержание-диспозиция взлома. важно отметить, что заголовок content-disposition не является частью стандарта HTTP 1.1.
стандарт HTTP 1.1 (RFC 2616) также упоминает возможные побочные эффекты безопасности размещения контента:
15.5 Проблемы С Размещением Контента
в RFC 1806 [35], из которого часто содержание-диспозиция
(см. раздел 19.5.1) заголовок в HTTP is производный, имеет ряд очень
серьезные соображения безопасности. Контент-диспозиция не является частью
стандарт HTTP, но так как он есть широкое применение, мы являются
документирование его использования и рисков для реализаторы. См. RFC 2183 [49]
(который обновляет RFC 1806) для деталей.
Ну, похоже, что заголовок Content-Disposition изначально был создан для электронной почты, а не для интернета. ( ссылка на соответствующий RFC.)
Я предполагаю, что веб-браузеры могут реагировать на
Response.AppendHeader("content-disposition", "inline; filename=" + fileName);
при сохранении, но я не уверен.
см. RFC 6266 (использование поля заголовка Content-Disposition в протоколе передачи гипертекста (HTTP))http://tools.ietf.org/html/rfc6266
для asp.net пользователи, платформа .NET framework предоставляет класс для создания заголовка диспозиции содержимого:
этот заголовок определен в RFC 2183, Так что это было бы лучшее место, чтобы начать читать.
разрешенные значения-это значения, зарегистрированные в Интернет-центре присвоения номеров (IANA); их реестра значений следует рассматривать как окончательный источник.
думал, что эта статья KB в разделе поддержки Microsoft связана с обсуждением здесь Как вызвать диалоговое окно загрузки файла для известного типа mime