当前位置: 首页 > 图文教程 > 网络编程 > ASP > Asp Object 之:AddHeader

ASP
ASP漏洞集-跨站Script攻击和防范
利用JSP的思想来做ASP
asp的19个基本技巧
自定义aspnet_client的位置
编码的风格和如何设置调试代码
RS.GETROWS使用详解
Adodb.Stream 组件的使用说明
在ASP.Net中实现RSA加密
关于水晶报表10 的字报表数据填充和显示
DataList里套DataGrid,DataBind
ASP.NET验证控件详解
ASP网站漏洞解析及黑客入侵防范方法
产生一个密码,并记录到数据库,然后发送给用户
ASP内置对象 Request对象 详解
ASP 中 DateDiff 函数详解
几个常用的小函数
在记录集中加入判断使之灵活
会员系统“找回密码”的制作方法
一个分页代码例子
常见的错误及其解决方法

ASP 中的 Asp Object 之:AddHeader


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 76 ::
收藏到网摘: n/a

AddHeader

AddHeader 方法用指定的值添加 HTML 标题。该方法常常向响应添加新的 HTTP 标题。它并不替代现有的同名标题。一旦标题被添加,将不能删除。

此方法仅供高级用户使用。若其他 Response 方法提供了您所需的功能,建议您使用该方法。

语法

Response.AddHeader name, value 

参数

name
新的标题变量的名称。
value
存储在新的标题变量中的初始值。

注释

为避免命名不明确,name 中不能包含任何下划线字符 (_)。ServerVariables 集合将标题中的下划线字符解释为反斜杠。例如,下面的脚本使服务器查找一个名为 MY-HEADER 的标题名。

<% Request.ServerVariables("HTTP_MY_HEADER") %>

由于 HTTP 协议要求所有的标题都必须在内容之前发送,所以您必须在任何的输出(例如由 HTML 或 Write 方法生成的输出)发送到客户端之前在脚本中调用 AddHeader。但当 Buffer 属性被设置为 TRUE 时例外。若输出被缓冲,那么您就可以在脚本中的任何地方调用 AddHeader 方法,只要它在 Flush 之前执行即可。否则,对 AddHeader 的调用将产生一个运行错误。

下面的两个 .asp 文件对这一点进行了解释。

-------file1.asp---------<% Response.AddHeader "WARNING", "Error Message Text" %> <HTML>Some text on the Web page.</HTML> 

在前面的例子中,页没有缓冲。但是,因为在服务器将输出

Some text on the Web page 

发送到客户端之前调用了 AddHeader 方法,所以脚本能正常工作。如果调换一下顺序,则对 AddHeader 方法的调用将产生一个运行时错误。

------file2.asp----------<% Response.Buffer = TRUE %> <HTML>Here's some text on your Web page.<% Response.AddHeader "WARNING", "Error Message Text" %> Here's some more interesting and illuminating text.<% Response.Flush %> <%= Response.Write("some string") %> </HTML> 

在前面的示例中,页被缓冲了,其结果是,直到此页上所有的 ASP 脚本执行后或 Flush 方法被调用后,服务器才会将输出发送到客户端。带缓冲的输出中对 AddHeader 的调用可在脚本的任何地方出现,只要在 Flush 调用之前即可。在前面的示例中,若对 AddHeader 的调用在对 Flush 的调用之后出现,脚本将产生一个运行时错误。

您可以通过这一方法用不同的值发送同一标题的多份拷贝,比如用 WWW-Authenticate 标题。

示例

下面这个示例使用 AddHeader 方法要求客户端使用 BASIC 验证。

<% Response.Addheader "WWW-Authenticate", "BASIC" %> 

注意 前面的脚本仅通知客户端浏览器使用哪个验证。若您在 Web 应用程序中使用该脚本,则一定要启用 Web 服务器的 BASIC 验证。

应用于

Response 对象