1、变量的命名
如果http标题变量名称中有包含减号(-),那么系统将会视其为底线(_)符合。例如你将标题名称取为NEW-Header,在你必须利用Request.ServerVariables("HTTP_NEW_Header")才能取得该标题名称的内容值。
2、缓冲区的应用
因为HTTP通讯协议会先传送所有的标题信息,之后再传送内容文件。因此,你必须在<HTML>标签之前使用Response对象的AddHeader方法,否则会产生错误。你可以使用缓冲区来解决这个问题,如下:
<%Response.Buffer=True%> xxxxx
---------------------------------------------
如果http标题变量名称中有包含减号(-),那么系统将会视其为底线(_)符合。例如你将标题名称取为NEW-Header,在你必须利用Request.ServerVariables("HTTP_NEW_Header")才能取得该标题名称的内容值。
2、缓冲区的应用
因为HTTP通讯协议会先传送所有的标题信息,之后再传送内容文件。因此,你必须在<HTML>标签之前使用Response对象的AddHeader方法,否则会产生错误。你可以使用缓冲区来解决这个问题,如下:
<%Response.Buffer=True%> xxxxx
---------------------------------------------
设置<meta>标签里的东西,如自动刷新refresh时间,response.expires属性等等
--------------------------------------------
AddHeader 方法以确定值增加一个HTML头(header)。此方法总是给response 增加一个新的头,而不提换掉现存的同名的头,一个头增加之后就无法删除。 如果有另一个Response方法提供你所需的功能,建议使用那一个。 语法: Response.AddHeader name, value 参数: name :新的头变量的名称。 value : 新的头变量的初始值。 要点: 为避免名称的含糊不清,在名称中部应包含下划线符号:'_'。ServerVariables 集合把下划线解释为头名称中的横线。例如:下面的语句导致服务器查找一个名 为MY-HEADER的头。 < % Request.ServerVariables("HTTP_MY_HEADER") %> 因为HTTP协议要求所有的头在内容之前发送,所以一般情况下必须在ASP文件产 生输出之前修改要求修改的头。在IIS4.0中,这就要求在ASP脚本将任何输出 (如HTML语句和用response.write产生的输出)送往客户端之前调用 Response.AddHeader。 然而,在IIS5.0中,response缓存(由meta属性AspBufferingOn激活)是缺省 设置的,所以可以在脚本的任何一点调用Response.AddHeader,只要在Flush之前 调用即可。下面的ASP文件显示了这一点: 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") %> 在上面的例子中:因为产生的页面是缺省地在缓存中,服务器不会在Flush被调用 前把正在处理的.ASP文件产生的输出送往客户端。在带缓存输出下:对 Response.AddHeader 的调用可以出现在脚本的任何一点。如果前面的例子中Response.AddHeader出现 在Response.Flush后面,此脚本会产生一个运行时错误。 例子: 下面的例子使用AddHeader 方法要求客户使用基本认证。 < % Response.Addheader "WWW-Authenticate", "BASIC" %> 注意:前面的脚本只是通知客户端浏览器使用哪一个认证,如果在你的web 应用中 使用这个脚本,必须确认web服务器激活了基本认证 --------------------------------------------
服务器返回的信息头分2部分:MIME 和HTTP MIME头是关于返回的内容的。比如:信息长度、类型、编码类型、字符集等等 HTTP头是关于服务器状态的:比如服务器类型、转向地址、特殊服务(比如刷新)设置cookie等等