Uses common HTTP verbs which are well described in RFC 2616
Easy to intercept for debugging with Chrome Developer Tools or Wireshark and easily read payload without additional special tooling
Cons
JSON is typically used. Objects are large and field names are repetitive
GraphQL
Uses POST for all operations, with a single HTTP path, e.g. /graphql
2 types of operations are Queries and Mutations, which are specified in the JSON request body
Queries are used for reading data
Mutations are used for creating, updating, and deleting data
Queries passed from client to server declare the fields requested for the HTTP request