I haven't done HTTPServer, only CGI. So judging based on my experience, your theory seems generally right. Just except that if your client sends request in GET method, then they will be stored in ARequest.QueryFields instead of ARequest.ContentFields. ContentFields contains data when the request's method is POST.
You can send both QueryFields and ContentFields in POST method, but only QueryFields in GET method.
Your client may be web browser, or Windows application (if your OS is Windows. I don't know about Linix) --- I access webserver using Ararat Synapse.