To post HTML form data to the server in URL-encoded format, you need to make an HTTP POST request to the server and provide the HTML form data in the body of the POST message. You also need to specify the data type in the body using the Content-Type: application/x-www-form-urlencoded request header. HTML form data can also be sent to the server using the HTTP GET method. In this case, HTML form data is passed in the URL as key/value pairs separated by ampersands (&), and keys are separated from values by equality (=).
In HTTP, there are two ways to send HTML forms to the server.
1. Using the media type application/x-www-form-urlencoded. This type of media is mainly used to send short HTML forms in the form of key-value pairs, for example when authorizing a user using login/password forms.
HTML Login Form Request Example
POST /login HTTP/1.1
2. Using media type multipart/form-data. This type of media is used by browsers when uploading binary data to a server (for example, when uploading multiple images). In this case, the form data is formatted as a series of parts separated by MIME boundaries.
In some cases, you can submit form data using the HTTP GET method. The form data is passed to the server as a series of name/value URL parameters, and you are limited to a maximum URL length of about 2000 characters (browser dependent). This method is less secure since you are passing data in URL parameters.
Example of Sending an HTML Form using HTTP GET Method
GET /login?login=my_login&password=my_passowrd HTTP/1.1