HTTP Method
What are HTTP Method
HTTP (Hypertext Transfer Protocol), is the underlying format that is used to structure request and responses for effective communication between a client and a server. The message that is sent by a client to a server is what is known as an HTTP request.
The Hypertext Transfer Protocol (HTTP) is designed to enable communications between clients and servers. HTTP works as a request-response protocol between a client and server. Example: A client (browser) sends an HTTP request to the server; then the server returns a response to the client. The response contains status information about the request and may also contain the requested content.
Types of HTTP Request Methods
GET: GET is used to retrieve and request data from a specified resource in a server. GET is one of the most popular HTTP request techniques. In simple words, the GET method is used to retrieve whatever information is identified by the Request-URL.
Syntax
/test/demo_form.php?name1=value1&name2=value2
POST: POST is used to send data to a server to create/update a resource. The data sent to the server with POST is stored in the request body of the HTTP request.
Syntax
POST /test/demo_form.php HTTP/1.1 Host: w3schools.com name1=value1&name2=value2
DELETE: Removes all the current representations of the target resource given by URI.
PUT: Replaces all the current representations of the target resource with the uploaded content.
HEAD: Same as GET, but it transfers the status line and the header section only.
CONNECT: Establishes a tunnel to the server identified by a given URI.
OPTION: Describe the communication options for the target resource.
TRACE: Performs a message loop back test along with the path to the target resource.
Difference Between GET and POST Method
KEY | GET | POST |
---|---|---|
BACK button/Reload | Harmless | Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted) |
Bookmarked | Can be bookmarked | Cannot be bookmarked |
Cached | Can be cached | Not cached |
Encoding type | application/x-www-form-urlencoded | application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data |
History | Parameters remain in browser history | Parameters are not saved in browser history |
Restrictions on data length | Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) | No restrictions |
Restrictions on data type | Only ASCII characters allowed | No restrictions. Binary data is also allowed |
Security | GET is less secure compared to POST because data sent is part of the URL. Never use GET when sending passwords or other sensitive information! | POST is a little safer than GET because the parameters are not stored in browser history or in web server logs |
Visibility | Data is visible to everyone in the URL | Data is not displayed in the URL |
Data Allowed | Only string data type is allowed | No restriction on data type |