📄 page9.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>向浏览器发送内容</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="Microsoft Border" content="none">
</head>
<body background="../../images/exptextb.jpg">
<!-- Spidersoft WebZIP Ad Banner Insert -->
<!-- End of Spidersoft WebZIP Ad Banner Insert-->
<p><font FACE="宋体" size="3"><strong>向浏览器发送内容</strong></p>
</font>
<p><font FACE="宋体" SIZE="2">在处理 ASP 脚本时,任何没有包含在 ASP
定界符或 <SCRIPT>
标记中的文本或图形都将被简单地返回给浏览器。可以通过使用
Response 对象显示地把内容发送给浏览器。</p>
<p><strong>发送内容</strong></p>
<p>要将内容从 ASP 定界符内部或过程发送给浏览器,可以使用 Response
对象的 Write
方法。例如,下面的语句可以根据用户是否访问过此页而发送不同的问候语:</p>
<p><% </p>
<p>If FirstTime = True Then </p>
<p>Response.Write "<H3 ALIGN=CENTER>Welcome to the Overview
Page</H3>"</p>
<p>Else</p>
<p>Response.Write "<H3 ALIGN=CENTER>Welcome Back to the Overview
Page</H3>" </p>
<p>End If </p>
<p>%> </p>
<p>在过程外部,不必使用 Response.Write
将内容送回用户。不在脚本定界符内部的内容被直接发送给浏览器,浏览器将其格式化和显示。例如,下面的脚本过程与上面的脚本输出相同:</p>
<p><H3 ALIGN=CENTER> </p>
<p><% If FirstTime Then %> </p>
<p>Welcome to the Overview Page. </p>
<p><% Else %> </p>
<p>Welcome Back to the Overview Page. </p>
<p><% End If %> </p>
<p></H3> </p>
<p>当您只需要将输出返回一次或很方便地向现有 HTML
文本中加入语句时,可使用混合脚本命令和 HTML。当您不想用定界符分隔一条语句或当您想创建返回给浏览器的字符串时,可使用
Response.Write。例如,可构建一个文本的字符串,用从一个 HTML
表送回的值创建表格的一行:</p>
<p>Response.Write "<TR><TD>" &
Request.Form("FirstName") _</p>
<p>& "</TD><TD>" & Request.Form("LastName") &
"</TD></TR>"</p>
<p>Request.Form 返回从 HTML 表格(参阅 使用 HTML 表格)发送的值。(&)
字符是 VBScript 字符串连接字符。</p>
<p><strong>设置内容的类型</strong></p>
<p>当 Web
服务器将文件返回给浏览器时,会同时告诉浏览器文件中包含的内容的类型。这使浏览器能够决定是否它能自己显示文件或必须调用另一个应用程序。例如,如果网络服务器返回
Microsoft Excel 表格,则浏览器必须调用 Microsoft Excel 的副本显示此页。Web
服务器通过将文件的扩展名映射到 MIME 类型表来识别文件类型。</p>
<p>可以使用 Response 对象的 ContentType 属性为发送给用户的内容设置
HTTP 内容类型字符串。例如,下面的命令为通道定义设置内容类型:</p>
<p><% Response.ContentType = "application/x-cdf" %> </p>
<p>有关通道的详细信息,请参阅本主题中的“创建动态通道”。</p>
<p>其他的通用内容类型是 text/plain(用于作为文本内容返回而不是已解释的
HTML 语句)、text/gif(用于 GIF 图像)和 video/quicktime(用于 Apple
QuickTime? 格式的电影)。一套标准的 MIME 类型已经定义,另外,Web
服务器或 Web 浏览器都支持 MIME 类型。要想查看您的 Microsoft Web
服务器支持哪些内容类型,可使用 Internet 服务管理器打开您的 Web
站点的属性页,单击“HTTP
标题”选项卡,然后单击“文件类型”选项卡。</p>
<p><strong>重定向浏览器</strong></p>
<p>用 Redirect 方法可将浏览器重定向到另一个 URL,而不是将内容发送给用户。例如,如果您想确认用户是否已从主页进入了您的应用程序,以便能收到一个客户
ID,则可以检验他们是否有客户 ID
号;如果没有,就可以将其重定向到主页。</p>
<p><%</p>
<p>If Session("CustomerID") = 0 Then</p>
<p>Response.Redirect "homepage.asp" </p>
<p>End If</p>
<p>%> </p>
<p>除非缓冲区已经打开,否则,在任何内容或标题返回给浏览器之前,您必须重定向浏览器。将
Response.Redirect 语句放在页的顶部和<HTML>
标记之前可确保没有任何内容返回给浏览器。如果在返回给浏览器的内容或标题后使用
Response.Redirect,将看到一个错误信息。</p>
<p>如果在页的中间使用 Response.Redirect,请将其与 Response.Buffer
属性一起使用,下面的部分将进行解释。</p>
<p><strong>缓冲内容</strong></p>
<p>默认情况下,Web 服务器返回 HTML 和在处理 ASP
页时的脚本处理结果。但是,您可以设置 Response 对象的 Buffer
属性以便在向用户发送任何内容之前,先处理页上的所有的服务器脚本命令。</p>
<p>可以使用缓冲技术来确定在页处理过程中的某个点,而您并不想将该点之前的内容发送给用户。也可以用
Response 对象的 Redirect 方法将用户重定向到另一页,或者用 Response
对象的 Clear
方法清除缓冲区并将不同的内容发送给用户。下面的例子使用了以上两种方法。</p>
<p><% </p>
<p>'Turn on buffering. This statement must appear before the <HTML> tag.</p>
<p>Response.Buffer = True %></p>
<p><html></p>
<p><body></p>
<p>.</p>
<p>.</p>
<p>.</p>
<p><%</p>
<p>If Request("FName") = "" Then</p>
<p>Response.Clear</p>
<p>Response.Redirect "/samples/test.html"</p>
<p>Else</p>
<p>Response.Write Request("FName")</p>
<p>End If</p>
<p>%></p>
<p></body></p>
<p></html></p>
<p>也可以使用 Response.Buffer 避免 Web 服务器在脚本修改 HTTP
标题之前将其返回。有些属性和方法,例如 Response.Expires 和
Response.Redirect 可修改 HTTP 标题。</p>
<p>当在脚本中设置 Buffer 属性并且没有调用 Flush
方法时,服务器将保持用户发出的 Keep-Alive
请求。养成这样的脚本编写习惯有益于提高服务器的性能,因为,服务器不必为每一个用户请求创建新的连接(假定服务器、用户和任何代理服务器都支持
Keep-Alive
要求)。但是,这种方法的一个潜在的不利因素是:在用户处理完当前的
asp
文件的所有的脚本之前,缓冲区不显示任何响应给用户。对于较长的和较复杂的脚本,用户可能要被迫等待很长一段时间才能看到这一页。</p>
<p>默认情况下,缓冲区对于 ASP 应用程序是关闭的。可以使用 Internet
服务管理器为整个 ASP 应用程序打开缓冲区。详细信息,请参阅 配置
ASP 应用程序。</p>
<p><strong>允许代理服务器缓存页</strong></p>
<p>通过代理服务器,应用程序可以发送页给用户。代理服务器
代替用户浏览器从 Web 站点请求网页。代理服务器缓存 HTML
页以便相同页的重复请求能够快速有效地返回给浏览器。代理服务器执行请求并缓存网页,并减轻网络和
Web 服务器的负荷。</p>
<p>尽管缓存对 HTML 页都能很好运行,但对包含动态生成信息的 ASP
页则不尽人意。例如,报告股市行情或显示大量业务的存货清单需要提供即时信息。一小时前的信息对目前来讲是很不准确的。如果应用程序返回个人的信息,例如,自定义的主页,希望用户不能看到另一个用户的个人信息。</p>
<p>默认情况下,ASP 命令代理服务器自己不能缓存 ASP
页(尽管缓存图像、位图、小型应用程序,和其他缓存页上的参考项)。可以使用
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -