HTTP报头,Response.AddHeader,HTTP协议

14 篇文章 0 订阅
1、变量的命名
如果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等等
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值