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