在HTTP响应头中处置

我发现以下asp.net代码在从数据库提供文件时非常有用:

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

这让用户将文件保存到他们的计算机,然后决定如何使用它,而不是浏览器试图使用该文件。

内容处置响应头可以做些什么其他事情?


内容处置标题的权限是RFC 1806和RFC 2183.人们还设计了内容处置黑客行为。 重要的是要注意,content-disposition标头不是HTTP 1.1标准的一部分。

HTTP 1.1标准(RFC 2616)也提到了内容处置的可能的安全副作用:

15.5内容处置问题

RFC 1806 [35],从中经常实施内容处置
(参见第19.5.1节)HTTP中的头部是派生出来的,具有很多非常
严重的安全考虑。 内容处置不属于
HTTP标准,但是由于它被广泛实施,我们是
记录其对使用者的使用和风险。 请参阅RFC 2183 [49]
(它更新了RFC 1806)以获取详细信息。

请注意,RFC 6266取代了下面引用的RFC。 第7节概述了一些相关的安全问题。


那么,Content-Disposition标题似乎最初是为电子邮件创建的,而不是网络。 (链接到相关的RFC。)

我猜Web浏览器可能会做出反应

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

当保存时,但我不确定。


请参阅RFC 6266(使用超文本传输​​协议(HTTP)中的内容处置标题字段)http://tools.ietf.org/html/rfc6266

链接地址: http://www.djcxy.com/p/8199.html

上一篇: disposition in an HTTP response header

下一篇: Disposition:What are the differences between "inline" and "attachment"?