Microsoft Home Microsoft Home
 Microsoft FrontPage 2000 Server Extensions Resource Kit

附录


FrontPage 远程过程调用协议

FrontPage 客户端和 FrontPage 服务器扩展使用基于 HTTP 和 HTML 的远程过程调用 (RPC) 协议来相互通讯。当 FrontPage 客户端需要服务器扩展做某件事情的时候,客户端会向服务器发送一个 POST 请求。

这个 POST 请求会被传送到站点里面正在创作的三个 DLL 之一。

  • 浏览阶段操作的请求被发送到 Shtml. dll 或 Shtml.exe。
  • 创作阶段操作的请求被发送到 Author.dll
  • 管理操作的请求被传送到 Admin.dll

POST 请求的正文包括形式为 「method=command」 的命令,其中 「command」 是指 FrontPage 客户端要服务器执行的命令。

服务器扩展执行命令并返回一个 「200 OK」 响应以响应请求。响应消息的正文包含该命令所返回的信息,该信息按嵌套的名称/值对的形式表示。

消息正文使用以下通用格式:

 <html> <head></head> <body> <p>item1=value <p>item2=value <p>item3=<ul> <li>item3.1=value <li>item3.2=value <ul> <li>item3.3.1=value <li>item3.3.2=value </ul> </body> </html>

这里有一个 FrontPage 客户 /服务器扩展部分对话的例子来解释 RPC 协议如何工作。在这个例子中, FrontPage 客户和运行服务器扩展的服务器创建一个连接,并确定当前运行的服务器扩展的版本。

为解释清楚,这段程序已作了些编辑并省略了不重要的部分。


 GET /_vti_inf.html HTTP/1.0 Date: Fri, 17 Apr 1998 02:05:31 GMT User-Agent: Mozilla/2.0 (compatible; MS FrontPage 3.0) Host: fp4

服务器返回文件作为响应。客户端读取响应并找出与 「FPShtmlScriptUrl」 相关的值,这个值告诉客户端将 POST 请求发送到何处以执行浏览阶段命令。现在它已经知道要将 POST 请求发送到何处,它会询问服务器所运行的服务器扩展的版本:

 POST /_vti_bin/shtml.dll/_vti_rpc HTTP/1.0 User-Agent: MSFrontPage/4.0 Content-Type: application/x-www-form-urlencoded method=server version

服务器扩展处理 「method=server version」 请求并且返回其版本信息:

 HTTP/1.0 200 OK Server: Microsoft-IIS/3.0 Date: Fri, 17 Apr 1998 02:04:43 GMT Content-type: application/x-vermeer-rpc <html><head><title>RPC packet</title></head> <body> <p>method=server version <p>server version= <ul> <li>major ver=3 <li>minor ver=0 <li>phase ver=2 <li>ver incr=926 </ul> </body> </html>

后退  回到页首

最近更新时间 1998 年 11 月
©1998 Microsoft Corporation。保留所有权利。使用规定。