Although the HTTP protocol specification does not specify a maximum length, the practical limit is 2083 characters with a maximum length of 2048 characters in the path URL. These are the restrictions that Microsoft Interet Explorer currently applies, which is still used by a large majority of users. A reasonable upper limit on the length of URLs has always been imposed by major web browsers. If you want to submit a form containing many fields that would otherwise create a very long URL, the standard solution should use the POST method, not the GET method:
<form action="myscript.php" method="POST"> ... </form>
Form fields are then passed as part of the header of the HTTP transaction, and not as part of the URL.
source share