Использование расположения содержимого в заголовке ответа HTTP

StackOverflow https://stackoverflow.com/questions/1012437

Вопрос

Я обнаружил, что следующий код asp.net очень полезен при обслуживании файлов из базы данных:

Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);

Это позволяет пользователю сохранить файл на своем компьютере и затем решить, как его использовать, вместо того, чтобы браузер пытался использовать файл.

Что еще можно сделать с заголовком ответа на размещение контента?

Это было полезно?

Решение

Обратите внимание, что RFC 6266 заменяет RFC, указанные ниже. Раздел 7 описывает некоторые связанные с безопасностью проблемы.

Полномочия для заголовка размещения контента: RFC 1806 и RFC 2183. Люди также разработали взлом содержимого-размещения. Важно отметить, что заголовок размещения содержимого не является частью стандарта HTTP 1.1.

Стандарт HTTP 1.1 ( RFC 2616 ) также упоминает возможные побочные эффекты безопасности расположение контента:

  

15.5 Проблемы с содержимым

     

RFC 1806 [35], из которого часто   реализовал Content-Disposition
  (см. раздел 19.5.1) заголовок в HTTP   выведен, имеет ряд очень
  серьезные соображения безопасности.   Content-Disposition не является частью
  стандарт HTTP, но так как это   широко реализованы, мы
  документирование его использования и рисков для   реализаторы. См. RFC 2183 [49]
  (который обновляет RFC 1806) для деталей.

Другие советы

Похоже, что заголовок Content-Disposition был изначально создан для электронной почты, а не для Интернета. ( ссылка на соответствующий RFC .)

Я предполагаю, что веб-браузеры могут реагировать на

Response.AppendHeader("content-disposition", "inline; filename=" + fileName);

при сохранении, но я не уверен.

См. RFC 6266 (Использование поля заголовка расположения содержимого в протоколе передачи гипертекста (HTTP)) http://tools.ietf.org/html/rfc6266

Этот заголовок определен в RFC 2183 , так что это будет лучшим местом начать читать.

Допустимые значения - это значения, зарегистрированные в Агентстве по присвоению номеров в Интернете (IANA); реестр значений следует рассматривать как окончательный источник.

Подумал, что эта статья в разделе поддержки Microsoft связана с обсуждением здесь Как вызвать диалоговое окно загрузки файла для известного типа MIME

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top