第十二章 CSP 中的 HTTP
请求 - CSP
运行时环境
CSP
的主要任务是提供动态内容以响应传入的 HTTP
(超文本传输协议)请求。本节介绍 CSP
如何处理 HTTP
请求的基础知识。
HTTP
是一种简单的协议,其中客户端向服务器发出请求。 HTTP
是一种无状态协议;客户端和服务器之间的连接只持续为服务请求所需的时间。每个 HTTP
请求都包含一个请求标头,该标头指定请求类型(例如 GET
或 POST
)、一个 URL
和一个版本号。请求还可能包含附加信息。 CSP
自动确定它应该处理哪些 HTTP
请求,将它们分派到运行在 Caché
服务器上的适当类,并将请求信息打包成易于使用的对象(例如对象中的 %CSP.Request
)。
CSP 运行时环境
下图显示了 CSP
和 HTTP
请求的架构:
CSP
应用程序的运行时环境包括以下内容:
HTTP
客户端(例如Web
浏览器)HTTP
服务器(Web
服务器,例如Apache
或IIS
)CSP
网关(Web
服务器的Caché
插件)Caché
服务器(CSP
服务器在其上运行请求的CSP
应用程序)
HTTP 请求处理
下图说明了 CSP
处理 HTTP
请求时的事件流:
- 浏览器(或类似的
Web
客户端)发出HTTP
请求。 Web
服务器确定这是一个CSP
请求并将其分派到CSP
网关(安装在 Web 服务器上)。 2aWeb
服务器可能会提供静态内容,具体取决于应用程序配置。CSP
网关重新打包请求并将其发送到正确的缓存服务器。Caché
服务器对消息进行解码并确定请求是针对静态页面还是针对CSP
类的。
如果请求是针对静态文件(例如 .html
或 .jpg
文件),Caché
服务器会在本地文件系统中找到该文件并将其内容发送回客户端。 (请注意,如果提供的文件包含 Unicode
文本,CSP
会使用 BOM
来确定要使用的正确编码。BOM
必须存在于 Unicode
文本文件中。)
如果是针对一个类,它会确定哪个事件处理类(应用程序的一部分)将处理该事件并调用类 Page
方法。
age
方法或静态页面的输出作为HTTP
响应发送回CSP
网关。CSP
网关将HTTP
响应传递给Web
服务器(具体来说,响应通过CSP
网关流回Web
服务器)。Web
服务器将响应返回给Web
浏览器,然后浏览器处理响应——在HTML
的情况下,它会显示它。
Web 服务器和 CSP 网关
HTTP
请求在 HTTP
客户端(例如 Web
浏览器)向 Web
服务器发送消息时开始。 CSP
网关是 Web
服务器(例如 IIS
或 Apache
)用来处理特定类型事件的 DLL
或共享库。如果满足以下条件,CSP
网关将处理 HTTP
请求:
URL
的目录路径具有在Web
服务器中定义的正确访问权限。
CSP
网关提供以下功能:
- 它提供最少的处理并将其大部分工作卸载到
Caché
服务器,为Web
服务器提供更多资源。 - 它维护一个与命名
CSP
服务器的连接池。 - 它提供故障转移选项以允许使用多个互连的
CSP
服务器。
CSP 服务器
CSP
服务器是一个运行在 Caché
服务器上的进程,它专门为来自 CSP
网关的请求提供服务。每个 Caché
服务器可以根据需要运行任意数量的 CSP
服务器进程(受机器类型的限制;CSP
服务器不计入许可证计算)。
在处理无状态请求时,每个 CSP
服务器进程可以支持来自许多不同客户端的请求。在状态保持模式下,一个进程专用于处理来自一个客户端的请求,直到状态保持模式被关闭。
注意:Caché
的主要优势之一是应用程序服务器和数据服务器之间没有真正的区别。可以根据需要将应用程序配置为使用尽可能多或尽可能少的机器。这是独立于应用程序逻辑和数据库模式完成的。特定系统是应用程序服务器还是数据服务器(或两者)只是配置问题。