In an HTTP GET request, parameters are sent as a query string:
The values are sent in the request body, in the format that the content type specifies.
Usually the content type is
application/x-www-form-urlencoded, so the request body uses the same format as the query string:
When you use a file upload in the form, you use the
multipart/form-data encoding instead, which has a different format. It's more complicated, but you usually don't need to care what it looks like, so I won't show an example, but it can be good to know that it exists.