title: Idempotence of HTTP PUT and DELETE
body: <p>So the HTTP spec says that HTTP PUT and DELETE should be idempotent. Meaning, multiple PUT requests to the same URL with the same body should not result in additional side-effects on the server. Same goes with multiple HTTP DELETEs, if 2 or more DELETE requests are sent to the same URL, the second (or third, etc) requests should not return an error indicating that the resource has already been deleted. </p>
  
  <p>However, what about PUT requests to a URI after a DELETE has been processed? Should it return 404?</p>
  
  <p>For example, consider the following requests are executed in this order:</p>
  
  <ul>
  <li>POST /api/items - creates an <code>item</code> resource, returns HTTP 201 and URI /api/items/6</li>
  <li>PUT /api/items/6 - updates the data associated with <code>item</code> #6</li>
  <li>PUT /api/items/6 - has no side effects as long as request body is same as previous PUT</li>
  <li>DELETE /api/items/6 - deletes <code>item</code> #6 and returns HTTP 202</li>
  <li>DELETE /api/items/6 - has no side effects, and also returns HTTP 202</li>
  <li><strong>GET /api/items/6 - this will now return a 404</strong></li>
  <li>PUT /api/items/6 - <strong>WHAT SHOULD HAPPEN HERE? 404? 409? something else?</strong></li>
  </ul>
  
  <p>So, should PUT be consistent with get and return a 404, or like @CodeCaster suggests, would a 409 be more appropriate?</p>