HTTP Methods Truth Table
My take on on HTTP methods and resources:
| 
 | 
 | 
Notes:
- RE: resource exists
- RNE: resource not exists
- For batch request, whether resource/entity exists or not, the resulting HTTP
 status code is always200, because the code is used to indicate the status
 of the operation. The actual status code of each entity is enclosed in the
 response array. When there are no matching entities, the response is an empty
 array, therefore, status code204is not used.
- There are two situation, a new resource is being created, then the Location
 header must indicate the fully qualified resource URI.