Publishing Engine Programmer's Guide > Arbortext Publishing Engine and its Components > Technical Overview of Arbortext Publishing Engine > Web Clients and the HTTP Protocol > HTTP Requests
  
HTTP Requests
An HTTP request consists of three parts: a request line, a set of HTTP headers, and a request body. The headers and body can be omitted if they're not needed. The request line consist of an HTTP command, a Uniform Resource Identifier (URI), and a version code.
There are many HTTP commands, but the most common are GET and POST. These are the only commands supported by Arbortext Publishing Engine.
A GET command requests that the server return the object (usually a file) specified by the URI. An HTTP GET request does not include a request body.
A POST command requests that the server return the object indicated after doing something with the request body. An HTTP POST request usually includes a body.
The URI part of an HTTP request can specify a file or a program to be run by the web server. The program can generate the file to be returned as part of the HTTP response. The URI can include query parameters in a name=value format with the parameters separated by ampersands (&); if the URI specifies a program, the query parameters are passed to the program along with the rest of the HTTP request. Each query parameter has a unique name and a string value. The HTTP standard places no restrictions on parameter names and values.
The HTTP request headers are also structured as name/value pairs. However, HTTP headers are defined by the HTTP standard specification. Generally, HTTP headers either describe the HTTP request body or inform the HTTP server of the kind of response that the client wants to receive.
The HTTP request body is only needed for POST requests. The request body is a data file that the server will process according to the request instructions before generating a response.