URL 参数初探

2009-12-22
  • 2318
  • 8

URL 参数是追加到URL 上的一个名称/值对。参数以问号 (?) 开始并采用 name=value 的格式。如果存在多个 URL 参数,则参数之间用一个 (&) 符隔开。下面的示例显示带有两个名称/值对的 URL 参数:

http://server/path/document?name1=value1&name2=value2

URL 参数可使您将用户提供的信息从浏览器传递到服务器。当服务器收到请求,而且参数被追加到请求的 URL 上时,服务器在将请求的页提供给浏览器之前,于处理该页时放置这些参数。

在该示例中,可以将应用程序设想为一家基于 Web 的店面。由于希望招徕最大范围的可能顾客,所以站点的开发人员将站点设计得可以支持多种外币。用户登录到该站点之后,他们可以选择使用哪种货币来查看所列商品的价格。

1. 浏览器向服务器请求该页的 report.cfm。该请求包括 URL 参数 Currency="euro"。Currency="euro" 变量指定所有检索到的货币数值都以欧盟的欧元为单位来显示。

2. 服务器将 URL 参数临时存储在内存中。

3. report.cfm 页读取并使用该参数来检索以欧元为单位的商品价格。这些货币数值既可以存储在反映不同货币的数据库表中,也可以从与每种商品相关联的单一货币形式转换为应用程序支持的任何货币形式。

4. 服务器将 report.cfm 页发送给浏览器,并以请求的货币形式显示商品的价格。当该用户终止会话时,服务器将删除 URL 参数的值,释放服务器内存以存放登录进该站点的新用户的请求。

当将 HTTP 的 GET 方法与 HTML 表单一起使用时,将创建 URL 参数。GET 方法指定在提交表单时将参数值追加到 URL 请求上。

URL 参数的典型应用包括根据用户的喜好对 Web 站点进行个性化设置。例如,由用户名和密码组成的 URL 参数可用于验证用户身份,并只显示该用户已经订阅的信息。这种应用的常见示例包括一些金融 Web 站点,这些站点可根据用户以前所选的股票代码来显示个人的股票价格。Web 应用程序开发人员通常使用 URL 参数将值传递给应用程序内的变量。例如,可以将搜索语句传递给 Web 应用程序中的 SQL 变量以产生搜索结果。

5. URL参数输出案例

假定页的基 URL为:

http://abc.sesta.com/test/rewriter/test1/jscript/test2/page.html

页内容

<script language="JavaScript">

<!--

function test(one,two,three){

alert(one + "##" + two + "##" +three);

}

test("/test.html","../test.html","123");

window.open("/index.html","gen",width=500,height=500);

//-->

</SCRIPT>

规则

<Function name="URL" paramPatterns="y,y,"/>

<Function name="URL" paramPatterns="y,,,"/>

输出

<SCRIPT>

<!--

function test(one,two,three) {

alert(one + "##" + two + "##" +three);

}

test("gateway-URL/http://abc.sesta.com/test.html","

gateway-URL/http://abc.sesta.com/test/rewriter/

test1/jscript/test.html","123");window.open("gateway-URL/

http://abc.sesta.com/index.html","gen",width=500,height=500);

//-->

</SCRIPT>

描述

第一项规则指定需要重写名为 test 的函数中的前两个参数。因此会重写 test 函数的前两个参数。第二项规则指定需要重写 window.open 函数的第一个参数。会在 window.open 函数中的 URL 前面加上网关 URL 以及包含函数参数的页的基 URL。