ASP 3.0高级编程(四)
2. 创建状态码和定制的HTTP报头
可使用先前在实例网页中所看到的Response对象的AddHeader方法来创建自己的状态码或自己喜欢的定制的报头。这一方法需要两个参数:HTTP报头名称或一个包含其值或分配给它的值的字符串。作为一个例子,下面的代码在页面中添加REFRESH报头:
Response.AddHeader “REFRESH”, ”60;URL=newpath/newpage.asp”
这等同于客户机端元素:
换句话说,也可配合Status属性使用AddHeader方法使浏览器载入一个新的页面:
Response.Status = “302 Object Moved”
Response.Addheader “Location”, “newpath/newpage.asp”
这等同于使用Response.Redirect方法:
Response.Redirect “newpath/newpage.asp”
Response.Status属性可被用来发送一些所需要的状态消息,例如添加如下几行:
Response.Status= “401 Unauthorized”
Response.Addheader “WWW-Authenticate”, “BASIC”
强制浏览器显示一个用户名/口令对话框,然后使用BASIC验证把它们发送回服务器(将在本书后续部分看到验证方法)。
3. MIME类型和内容类型
当我们想向浏览器发送一个动态创建的字符串,而且它们自己提供给浏览器时没有直接指明内容类型,而是提供表示是否是磁盘文件的扩展名时,Response.ContentType是非常有用的。除非特别指定,所有ASP创建的网页缺省都为“text/type”。内容类型的标识符是MIME类型(MIME代表Multi-purpose Internet Multimedia Extension或Multi-pupose Internet Mail Extension,通常依据上下文来定)。
例如,若发送到客户的数据注解是通过从数据库读二进制值创建的图片,就需要在发送任何内容之前添加合适的CONTENT-TYPE报头:
Response.ContentType = “image/jpeg”
假如从一个数据库创建一个XML文件,使用MIEM类型“text/xml”;并且如果正在创建一个文本文件可以在文件编辑器中显示或作为一个磁盘文件在客户上被存储起来,使用“text/text”。
4. 添加PICS卷标
Respnse.Pics属性仅仅是添加一个PICS(Platform for Internet Content system)卷标到页面上,方式与通常用标记所用的方式相同:
QUOT = Chr(34)
StrPicsLabel = “(PICS-1.0” & QUOT & “http://www.rsac.org/ratingsv01.html”_
& QUOT & “ 1 gen true comment “ & QUOT _
& “RSACi North America Server” & QUOT & “ for “ & QUOT _
& “http://yoursite.com” & QUOT & “ on “ & QUOT _
& “1999.08.01T03:04-0500” & QUOT & “ r (n 0 s 0 v 2 l 3))”
Response.Pics(strPicsLabel)
这段代码添加了如下的PICS卷标:
(PICS-1.0 “http://www.rsac.org/ratingsv01.html” 1 gen true comment “RSACi
North America Server” for “http://yoursite.com” on “1999.08.01T03:04-0500”
r (n 0 s 0 v 2 l 3))
要得到关于PICS的更多的信息,或了解更多的定义页面内容的方式,请检索http://www.rsac.org/站点。
在Internet Service Manager中定义报头
在第1章,已经说明了如何在Internet Service Manage(MMC插件)应用程序中设置每个Web网站和IIS 5.0目录的属性,这就定义了使用此站点或目录资源发送到客户机的所有请求的HTTP报头,也就提供了使用每个网页中的ASP脚本代码设置这些属性的替代方法。
在Web站点或目录上右击鼠标并选择“Properties”,在其对话框的“HTTP Headers”选项卡中,可设置页面内容有效期的相对时间或绝对日期,定义定制的报头,创建PICS内容等级标签,也可以通过MIME类型映射来定义内容类型,如下图所示:
在上图中,可以看到已创建了自定义的REFRESH HTTP报头,应用于从此目录载入的所有网页。即每一分钟自动地重载(刷新)一次(对于显示棒球比赛的最近比分是非常理想的,但对服务器而言负担太重了)。Custom HTTP Headers栏的Edit对话框如下图所示:
要在“MIME Map”框中添加自定义的内容类型映射,只需在“Properties”主对话框中单击“File Types”按扭把它们添加到清单中即可,如下图所示:
当使用HTTP报头开始试验时,你很快会发现不是所有的浏览器表现都相同,许多浏览器以不同的方式响应不同的HTTP报头,使得可靠地建立一个普遍适用的原则有时极为困难。
2. 使用客户证书
假如设立了一个安全的Web网站或部分内容具有安全机制的网站,可安装一个数字服务器证书,通过允许访问者使用证书中的加密的细节,来验证服务器。每一次对该站点或目录的页面请求,服务器都将发送证书的一个副本,浏览器可检查这个副本以确定正在和谁交谈。
同样,也可设置服务器,要求用户在进入网站时提供一个有效的数字证书。他们可从很多来源获得此证书,例如Verisign(http://www.verisign.com)或Thawte Consulting(http://www.thawte.com)。读者将在第25章看到这一处理过程的细节。
这些情况都使用了Reque
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论