Perfect开发天气接口API
文章目录
【注意】最后更新于 June 26, 2017,文中内容可能已过时,请谨慎使用。
Perfect介绍
Perfect提供一系列代表请求和响应的对象组件,并允许在服务器上增加管理句柄用于产生页面内容。 所有对象都是在服务器对象创建后开始工作。服务器对象会被执行配置,随后会根据配置绑定并监听特定端口。一旦出现连接,服务器会读取请求数据,请求数据读取完成后,服务器会将request object请求对象传递给请求过滤器。
请求过滤器
过滤器可能会根据需要修改查询请求。服务器会使用请求的URI路径检索routing请求/响应路由以获取处理该请求的具体句柄。如果找到了合适的处理句柄,服务器会传递给句柄对应的response object响应对象。当句柄反馈响应完成时,响应对象会被传递给响应过滤器。这些过滤器会根据需要修改最终输出的数据内容。最后响应结果数据会被推送给客户端浏览器,而客户端到服务器的连接或者被关闭、或者被拒绝维持HTTP持久连接、或者为后续请求和响应维持HTTP活动连接。
HTTP请求/响应路由
HTTP请求/响应路由是用于决定在当前请求下,哪一个句柄去接收和响应。
句柄
:可以是一个函数、过程或者方法,只要能够接收特定类型的请求并做出反应即可。路由
:主要依据请求的方法HTTP request method
和请求内容包括的路径信息
来决定的。
|
|
- URI路由变量
URI变量是用于处理动态请求的好方法。比如,一个包含用户id的URL可以用该方法实现相关请求的用户管理。
每个变量组件是通过一个
程序块{ }
声明的。在程序块中是变量名称。每个变量名称都可以使用出了括号}
之外的任何字符。变量名有点像单功能通配符一样,这样就可以匹配任何符合变量模式的路径。变量值
:在匹配该模式下URL能够通过HTTPRequest.urlVariables
字典查询变量值。该字典是[String:String]类型。
请求对象HTTPRequest
当处理一个HTTP请求时,所有客户端的互动操作都是通过HTTPRequest请求对象和HTTPResponse响应对象实现的。 HTTPRequest对象包含了客户端浏览器发过来的全部数据,包括请求消息头、查询参数、POST表单数据以及其它所有相关信息,比如客户IP地址和URL变量。
HTTPRequest对象将采用application/x-www-form-urlencoded编码格式对客户请求进行解析解码。而如果请求中采用multipart/form-data“多段”编码方式,则HTTP请求可以把各种未处理的原始格式表单传输过来。当处理“多段”表单数据时,HTTPRequest对象会为请求上传的文件自动创建临时目录并执行解码。这些文件会在请求过程中一直保持直到请求处理完毕,随后自动被删除。
以上涉及到的各种属性和函数都是HTTPRequest请求协议的部分内容。
文章作者 iTBoyer
上次更新 2017-06-26