SYSK 193: Uncommon HTTP Verbs

Did you know that HTTP defines eight methods (a.k.a. "verbs") indicating the desired action to be performed on the identified resource?  They are:



Asks for the response identical to the one that would correspond to a GET request, but without the response body. This is useful for retrieving meta-information written in response headers, without having to transport the entire content.


Requests a representation of the specified resource. By far the most common method used on the Web today.


Submits data to be processed (e.g. from a HTML form) to the identified resource. The data is included in the body of the request.


Uploads a representation of the specified resource.  Note:  The main difference between POST and PUT is that with PUT, the URL is not the name of a server application that will handle the client's data. Instead, the URL is the name of the file that will be created by the server to store the received data. If the URL already exists, then it will be overwritten by the server. Please note that the virtual directory referred to in the URL must have WRITE permission set.  For example, PUT /Test/Page.htm (only verb and URL is shown for clarity) creates Page.htm file in the /test virtual directory containing data sent with the request.


Deletes the specified resource.


Echoes back the received request, so that a client can see what intermediate servers are adding or changing in the request.


Returns the HTTP methods that the server supports. This can be used to check the functionality of a web server.


For use with a proxy that can change to being an SSL tunnel.


HTTP servers are supposed to implement at least the GET and HEAD methods and, whenever possible, also the OPTIONS method.


GET and HEAD are considered so-called “safe” methods, while POST, PUT and DELETE are unsafe.  It is recommended not to use links to functionality that results in executing unsafe HTTP methods; instead, one should use buttons to clearly indicate an action other than simple browsing.




Comments (1)

  1. Adam says:

    In the description of PUT, the word "file" ought to be replaced with "resource", and "If the URL already exists…" with "If a resource at the URL already exists…".

    Also, "virtual directory" and "WRITE permission" seem to be pretty IIS-specific, and may not be applicable to all HTTP servers. Similarly, on non-IIS HTTP servers, the "path" component may be case sensitive, meaning that "/Test/Page.htm" might refer to a different resource than the one in "/test".

Skip to main content