What is the difference between PUT, POST and PATCH? What is the difference between PUT, POST and PATCH methods in HTTP protocol?