used to further specify a subsection (or fragment) of a document. In HTML forms, the character = is used to separate a name from a value. The URI generic syntax uses URL encoding to deal with this problem, while HTML forms make some additional substitutions rather than applying percent encoding for all such characters. SPACE is encoded as '+' or "%20". HTML 5 specifies the following transformation for submitting HTML forms with the "GET" method to a web server. The following is a brief summary of the algorithm: Characters that cannot be converted to the correct charset are replaced with HTML numeric character references SPACE is encoded as '+' or '%20' Letters (A–Z and a–z), numbers (0–9) and the characters '~','-','.' and '_' are left as-is + is encoded by %2B All other characters are encoded as a %HH hexadecimal representation with any non-ASCII characters first encoded as UTF-8 (or other specified encoding) The octet corresponding to the tilde ("~") is permitted in query strings by RFC3986 but required to be percent-encoded in HTML forms to "%7E". The encoding of SPACE as '+' and the selection of "as-is" characters distinguishes this encoding from RFC 3986. Example If a form is embedded in an HTML page as follows: <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> </form> and the user inserts the strings “this is a field” and “was it clear (already)?” in the two text fields and presses the submit button, the program test.cgi (the program specified by the action attribute of the form element in the above example) will receive the following query string: first=this+is+a+field&second=was+it+clear+%28already%29%3F. If the form is processed on the server by a CGI script, the script may typically receive the query string as an environment variable named QUERY_STRING. Tracking A program receiving a query string can ignore part or all of it. If the requested URL corresponds to a file and not to a program, the whole query string is ignored. However, regardless of whether the query string is used or not, the whole URL including it is stored in the server log files. These facts allow query strings to be used to track users in a manner similar to that provided by HTTP cookies. For this to work, every time the user downloads a page, a unique identifier must be chosen and added as a query string to the