Different Between Get and Post Method
Different Between Get and Post Method
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. GET requests can be cached. GET requests remain in the browser history.
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. POST requests are never cached. POST requests do not remain in the browser history.
Features of GET
- It is very easy to bookmark data using GET method.
- The length restriction of GET method is limited.
- You can use this method only to retrieve data from the address bar in the browser.
- This method enables you to easily store the data.
Features of POST
- POST method request gets input from the request body and query string.
- Data passed using the POST method will not visible in query parameters in browser URL.
- parameters of POST methods are not saved in browser history.
- There is no restriction in sending the length of data.
- It helps you to securely pass sensitive and confidential information like login details to server.
Difference Between GET and POST Method
|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|
Advantages of GET
- The GET method can retrieve information identified by the request-URl (Uniform Resource Identifier).
- GET requests can be viewed in the browser history.
- It enables you to save the results of a HTML form.
- You can easily use GET method to request required data.
Advantages of POST
- This method helps you to determine resource URI.
- Specifying a new resource location header is very easy using location header.
- You can send a request to accept the entity as a new resource, which is identified by the URI.
- You can send user-generated data to the web server.
- It is very useful when you do not have any idea about the resource you have to keep in the URL.
- Use POST when you need the server, which controls URL generation of your resources.
- POST is a secure method as its requests do not remain in browser history.
- You can effortlessly transmit a large amount of data using post.
- You can keep the data private.
- This method can be used to send binary as well as ASCII data.
Disadvantages of GET
- GET can't be used to send word documents or images.
- GET requests can be used only to retrieve data
- The GET method cannot be used for passing sensitive information like usernames and passwords.
- The length of the URL is limited.
- If you use GET method, the browser appends the data to the URL.
- You can easily bookmark Query string value in GET
Disadvantages of POST
- It is not possible to save data as the data sent by the POST method is not visible in the URL.
- You cannot see POST requests in browser history.
- This method is not compatible with many firewall setups.
- You cannot use spaces, tabs, carnage returns, etc.
- This method is not compatible with some firewall setups.
- POST method takes lots of time when uploading the large binary file.