If the URI refers to an already existing resource, it is modified.
If the URI does not point to an existing resource, then the server can create the resource with that URI.
The difference between HTTP PUT and HTTP POST is that HTTP PUT is Idempotent where successive identical HTTP POST may have additional effects, like passing an order several times.