HTTP Methods

GET
      1. GET is used to request data from a specified resource.
      2. GET requests can be cached
      3. GET requests remain in the browser history
      4. GET requests can be bookmarked
      5. GET requests should never be used when dealing with sensitive data
      6. GET requests have length restrictions
      7. GET requests is only used to request data (not modify)

POST
       1. POST is used to send data to a server to create/update a resource.
        2. POST requests are never cached
        3. POST requests do not remain in the browser history
        4. POST requests cannot be bookmarked
        5. POST requests have no restrictions on data length

PUT
       1. PUT is used to send data to a server to create/update a resource.
     2. The difference between POST and PUT is that PUT requests are idempotent. That is, calling the same PUT request multiple times will always produce the same result. In contrast, calling a POST request repeatedly have side effects of creating the same resource multiple times.


DELETE
                1. The DELETE method deletes the specified resource.

PATCH
             1. The HTTP methods PATCH can be used to update partial resources. For instance, when you only need to update one field of the resource, PUTting a complete resource representation might be cumbersome and utilizes more bandwidth


HEAD
           1. HEAD is almost identical to GET, but without the response body. In other words, if GET /users returns a list of users, then HEAD /users will make the same request but will not return the list of users.
HEAD requests are useful for checking what a GET request will return before actually making a GET request - like before downloading a large file or response body.


OPTIONS
                1. The OPTIONS method describes the communication options for the target resource.

TRACE
The TRACE method is used to echo the contents of an HTTP Request back to the requester which can be used for debugging purpose at the time of development. The following example shows the usage of TRACE method:
TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
The server will send the following message in response to the above request:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)


Idepmotent

Overview of (some) HTTP methods

HTTP  Method  Idempotent     Safe
OPTIONS    yes     yes
GET    yes              yes
HEAD                    yes     yes
PUT    yes     no
POST    no     no
DELETE    yes     no
PATCH     no     no
Note Safe methods are methods that can be cached, pre-fetched without any repercussions to the resource. An idempotent HTTP method is a HTTP method that can be called many times without different outcomes. It would not matter if the method is called only once, or ten times over. The result should be the same.

Comments

Popular posts from this blog

gsutil Vs Storage Transfer Service Vs Transfer Appliance

SQL basic interview question