Przetwarzanie żądań

Przetwarzanie żądań obejmuje cztery kroki:

  • Odbieranie żądania
  • Obsługa żądania
  • Wysyłanie odpowiedzi
  • Anulowanie żądań, których nie można przetworzyć

Diagram przedstawiający pętlę żądania procesu.

Odbieranie żądania

Interfejs API serwera HTTP dostarcza strukturę żądań do przechowywania analizowanego żądania przychodzącego. Ta struktura jest przydzielana przez aplikację i inicjowana po odebraniu żądania przychodzącego. Aplikacja wywołuje funkcję HttpReceiveHttpRequest w celu odebrania żądania. Jeśli bufor żądania jest zbyt mały, aby odebrać żądanie, aplikacja może zwiększyć rozmiar buforu i wywołać HttpReceiveHttpRequest ponownie, aby odebrać całe żądanie.

Jeśli żądanie zawiera dane treści jednostki, które mają zostać odebrane, aplikacje wywołują HttpReceiveRequestEntityBody z identyfikatorem żądania zwróconym w parametrze pRequestBuffer podczas wywołania HttpReceiveHttpRequest.

Obsługa żądania

Aplikacja wykonuje przetwarzanie żądania specyficzne dla aplikacji i formułuje odpowiedź. Interfejs API serwera HTTP nie nakłada limitu czasu na ten proces.

Wysyłanie odpowiedzi

Po zakończeniu obsługi żądania i formułowania odpowiedzi aplikacja wywołuje funkcję HttpSendHttpResponse, aby wysłać odpowiedź. Jeśli odpowiedź zawiera dane treści jednostki, którą należy wysłać, aplikacja wywołuje również HttpSendResponseEntityBody.

Anulowanie żądań

Po otrzymaniu przez aplikację identyfikatora żądania z wywołania metody HttpReceiveHttpRequest, może ona w dowolnym momencie anulować to żądanie za pomocą wywołania HttpCancelHttpRequest.