There is an advantage in separating "protocol" from "binding" (in this case, "HTTP binding"). While REST is typically explained as an HTTP-only protocol, this is not the only possible "binding". I've successfully designed and implemented REST-style APIs using non-HTTP based RPC methods in the past. The main benefits in REST are not coupled with using HTTP GET/POST/PUT/DELETE but with the clearly defined model of resources, operations, client/server and limitations (e.g. statelessness) to make it a simple (but powerful) model.
A lot of people request a certain reply format by adding an extension like .json or .xml to the request. Seems easier that using Accept.<p>With Accept you need to parse the ";q=X" part as well.<p>See Accept when I access a website with Firefox: text/html,application/xhtml+xml,application/xml;q=0.9,<i>/</i>;q=0.8<p>Your REST API needs to understand this, according to these slides.