处理HTTP请求
作为互联网服务器,Perfect的主要功能是从客户端浏览器接收请求并响应。Perfect提供一系列代表请求和响应的对象组件,并允许在服务器上增加管理句柄用于产生页面内容。
所有对象都是在服务器对象创建后开始工作。服务器对象会被执行配置,随后会根据配置绑定并监听特定端口。一旦出现连接,服务器会读取请求数据,请求数据读取完成后,服务器会将request object请求对象传递给请求过滤器。
过滤器可能会根据需要修改查询请求。服务器会使用请求的URI路径检索routing请求/响应路由以获取处理该请求的具体句柄。如果找到了合适的处理句柄,服务器会传递给句柄对应的response object响应对象。当句柄反馈响应完成时,响应对象会被传递给响应过滤器。这些过滤器会根据需要修改最终输出的数据内容。最后响应结果数据会被推送给客户端浏览器,而客户端到服务器的连接或者被关闭、或者被拒绝维持HTTP持久连接、或者为后续请求和响应维持HTTP活动连接。
上述过程的详细解释请参考以下文献:
- Routing请求/响应路由——描述了HTTP请求/响应之间的路由系统,以及如何安装URL处理句柄
- HTTPRequest请求——提供HTTP请求对象的完整协议
- HTTPResponse响应——提供HTTP响应对象的完整协议
- HTTP请求与响应过滤器——说明如何增加、如何使用过滤器
此外,以下内容描述了如何预制页面内容、为特定任务而定制处理句柄:
- Static File Handler静态页面文件——描述了如何管理静态文件内容
- Mustache模板——描述了如何管理和应用Mustache模板页面