2.2.7 Request Types

This document defines requests that a client can send to a data service.

The request types defined in this document either extend the request types defined in AtomPub, as specified in [RFC5023], by providing additional rules for each type. Or, they add additional types, in addition to those defined in [RFC5023].

In general, this document adopts the protocol semantics of AtomPub, as specified in [RFC5023], but extends AtomPub to allow the use of alternate formats (such as JSON as specified in [RFC4627]), in addition to Atom, and defines a URI addressing scheme for the abstract data model used in this document. This document's data model maps 1-to-1 to the model constructs defined in AtomPub and defines additional constructs not present in the AtomPub model.

As specified in [RFC5023] and extended in this section, the requests from the client and the corresponding responses from the server are exchanged using HTTP request methods. Each request type defined is mapped to an HTTP request method (for example, GET, POST, and so on) and HTTP request URI pair.

In general, the request types defined allow clients to:

This section defines the syntax rules for each request type. Any ABNF syntax rules that are not specified in [RFC5234] or [RFC4627] use the extensions defined in [RFC2616]. The following are common ABNF syntax rules used throughout this section.

 HTTP-Header-Types   = *((general-header
                          ; see section 4.5 of [RFC2616]
                          / request-header
                          ; see section 5.3 of [RFC2616]
                          / entity-header) CRLF )
                          ; see section 7.1 of [RFC2616]

Listing: Common Grammar Rules for Request Types