1. HTTP (Hypertext Transfer Protocol)

  1. HTTP Methods

  1. REPORT
    1. Writing requests (clients)
    2. Reading requests (servers)
    3. Example
    4. Overview table

REPORT

Generates a response to a payload. Unlike POST, this method is safe; and unlike GET, a request body must be supported. Initially defined for WebDAV, this method is usable by any application where a client needs to submit a document to the server with a safe method (that will not change the server state).

See Queries in HTTP for alternative methods of implementing server-evaluated queries.

Writing requests (clients)

Clients may use the REPORT method when it sees Allow: REPORT in a response; when a form specifies a query may be submitted using the REPORT method; or when there is out-of-band knowledge that the resource supports it.

Reading requests (servers)

Servers should implement REPORT when there is a possibility that a GET query would be or cause performance problems. REPORT is not known to be well supported, and servers should implement alternate mechanisms of making a query (see Queries in HTTP).

Servers that support REPORT on a resource should list so in an Allow response header, and a GET response should describe how to format and make the request.

Example

First, the client makes a request:

REPORT /query HTTP/1.1
Content-Type: application/json

{ "id": { "$gt": 200 } }

The server evaluates the query according to the semantics of the resource and content type, and generates a response:

HTTP/1.1 200 OK
Content-Type: application/json

{
	"recordset": [
		{"id": 100, "name": "root"},
		{"id": 1000, "name":"Alice"},
		{"id": 1001, "name":"Bob"}
	]
}

Overview table

Name
REPORT
Description
Generates a response to a payload.
Specification
RFC 3253: Versioning Extensions to WebDAV ยง3.6: REPORT Method