处理请求

处理请求包括四个步骤:

  • 接收请求
  • 处理请求
  • 发送响应
  • 取消无法处理的请求

显示进程请求循环的示意图。

接收请求

HTTP 服务器 API 提供请求结构来存储分析的传入请求。 此结构由应用程序分配,并在收到传入请求时初始化。 应用程序调用 HttpReceiveHttpRequest 函数来接收请求。 如果请求缓冲区太小而无法接收请求,应用程序可以增加缓冲区大小,并针对调用 HttpReceiveHttpRequest 来接收整个请求。

如果请求包含要接收的实体正文数据,应用程序将在调用 HttpReceiveHttpRequest 期间使用 pRequestBuffer 参数中返回的请求 ID 调用 HttpReceiveRequestEntityBody

处理请求

应用程序对请求执行特定于应用程序的处理,并制定响应。 HTTP 服务器 API 不会对此进程施加超时。

发送响应

当应用程序完成处理请求并制定响应时,它会调用 HttpSendHttpResponse 函数来发送响应。 如果响应包含要发送的实体正文数据,则应用程序还会调用 HttpSendResponseEntityBody

取消请求

应用程序从调用 HttpReceiveHttpRequest 收到请求 ID 后,可以随时通过调用 HttpCancelHttpRequest 来取消请求。