The main conceptual difference GET and POST is that, GET is used for getting the data from the server, and POST is used for updating the data to the server.
In general POST has the following properties:
- The data is
x-www-form-urlencoded . Which means, the request parameters are sent as request body. And the server has to parse the request body for parameters.
- By default, when no content-length header is present, the default value for
GET is 0 whereas for POST it is till end of stream.
GET is Idempotent whereas POST is Non-Idempotent. i.e, Proxies on failures for GET they retry. But, for POST they do not retry.