Page 470 - HTTP权威指南
P. 470

在开始处理之前,客户端需要知道服务器上目标程序(FPSE 包中能够执行这些
               POST 请求的相关部分)的位置和名称。接下来它会发送一个特殊的 GET 请求(参
               见图 19-2)。



                   HTTP请求报文
                   包含命令和URL
                    GET /_vti_inf.html HTTP/1.1
                    Date: Sat, 12 Aug 2000 20:31:24 GMT
                    User-agent: Mozilla/2.0 (compatible;MS FrontPage 4.0)
                    Host: taskserver:80
                    Accept: auth/sicily                               www.joes-hardware.com
                    Content-length: 0
                                              因特网

                    FrontPage
                     客户端                                                 CGI ISAPI


                                                                        FrontPage服务
                                                                        器扩展(FPSE)

               图 19-2 初始请求

               得到返回的文件之后,FrontPage 客户端读取响应,寻找与 FPShtmlScriptUrl、
               FPAuthorScriptUrl 以及 FPAdminScriptUrl 相关的值。通常,这些值看起来是
               这样的:

                   FPShtmlScriptUrl="_vti_bin/_vti_rpc/shtml.dll"
                   FPAuthorScriptUrl="_vti_bin/_vti_aut/author.dll"
                   FPAdminScriptUrl="_vti_bin/_vti_adm/admin.dll"

               FPShtmlScriptUrl 告诉客户端要执行“浏览时”命令(例如,获取 FPSE 的版本
               号)时应向哪里 POST 请求。

               FPAuthorScriptUrl 告诉客户端要执行“写作时”命令时应向哪里 POST 请求。
         426   类似地,FPAdminScriptUrl 告诉 FrontPage 向哪里发送管理操作的 POST 请求。

               现在我们已知道这些程序所在的位置,可以发出请求了。

               1. 请求

               POST 请求的主体包含 RPC 命令,形式是 method=<command> 及任何需要的参数。
               例如,请求文档列表的 RPC 报文如下:

                   POST /_vti_bin/_vti_aut/author.dll HTTP/1.1
                   Date: Sat, 12 Aug 2000 20:32:54 GMT


               446   |   第 19 章
   465   466   467   468   469   470   471   472   473   474   475