GET sends the data as part of the URL. For example, suppose you enter the value "West Rochester" in this form below:

this code produces this
<FORM METHOD=GET ACTION="../cgi-bin/">
town: <INPUT NAME="town"><BR>

The value entered in the "town" field is tacked on to the end of the CGI's URL like this:


When the form data (or "query data") is added to the end of the URL it is "URL encoded" so that the data can be used in a standard URL. The neat thing about URL encoding is that each different query to the CGI has a different URL. Those unique URLs can be used directly in links without any form being involved. For example, the URL above can be used to create a link to exactly the same CGI results:

<A HREF="../cgi-bin/">West Rochester</A>

which creates this link: West Rochester.

The amount of data that can be sent with a URL is limited. GET is good for short forms (ten or fewer fields and no <TEXTAREA ...> or file uploads).