REST Content-Type: Should it be based on extension or Accept header?

Both are valid. Quote from

A resource may have more than one
representation. There are four
frequently used ways of delivering the
correct resource representation to

  1. Server-driven negotiation. The service provider determines the right
    representation from prior knowledge of
    its clients or uses the information
    provided in HTTP headers like Accept,
    Accept-Charset, Accept-Encoding,
    Accept-Language, and User-Agent. The
    drawback of this approach is that the
    server may not have the best knowledge
    about what a client really wants.
  2. Client-driven negotiation. A client initiates a request to a
    server. The server returns a list of
    available of representations. The
    client then selects the representation
    it wants and sends a second request to
    the server. The drawback is that a
    client needs to send two requests.
  3. Proxy-driven negotiation. A client initiates a request to a server
    through a proxy. The proxy passes the
    request to the server and obtains a
    list of representations. The proxy
    selects one representation according
    to preferences set by the client and
    returns the representation back to the
  4. URI-specified representation. A client specifies the representation it
    wants in the URI query string.

Leave a Comment