The Fundamental Differences
The HTML specifications technically define the difference between “GET” and “POST” so that former means that form data is to be encoded (by a browser) into a URL while the latter means that the form data is to appear within a message body. The “GET” method should be used when the form processing is “idempotent”, and in those cases only. As a simplification, we might say that “GET” is basically for just getting (retrieving) data whereas “POST” may involve anything, like storing or updating data, or ordering a product, or sending E-mail.
Differences in Form Submission
- If the
methodis"get"- -, the user agent takes the value ofaction, appends a?to it, then appends the form data set, encoded using theapplication/x-www-form-urlencodedcontent type. The user agent then traverses the link to this URI. In this scenario, form data are restricted to ASCII codes. - If the
methodis"post"–, the user agent conducts an HTTPposttransaction using the value of theactionattribute and a message created according to the content type specified by theenctypeattribute.
Thus, for METHOD=”GET” the form data is encoded into a URL (or, speaking more generally, into a URI). This means that an equivalent to a form submission can be achieved by following a normal link referring to a suitable URL; On a typical browser, the user sees the URL of a document somewhere (e.g. on Location line), and if he is viewing the results of a query sent using METHOD=”GET”, he will see what the actual query was (i.e. the part of the URL that follows the ? sign). The user could then bookmark it or cut&paste it for later use (e.g. to be E-mailed or put into one’s own HTML document after some editing).

Recent Comments