Short; -)
Проблема в том, что каждый веб-сервер и каждый браузер имеют собственные представления о том, как долго длится максимум. RFC для протокола HTTP не дает максимальной длины. IE ограничивает получение до 2083 символов, сам путь может быть не более 2048 символов. Однако этот предел не является универсальным. Firefox утверждает, что поддерживает не менее 65 536, однако некоторые люди подтвердили, что на некоторых платформах работает даже 100 000 символов. Safari выше 80 000 (проверено). Сервер Apache, с другой стороны, имеет ограничение в 4000. Информационный сервер Microsoft имеет один сервер 16,384 (но он настраивается).
Я рекомендую в любом случае не превышать 2000 символов. Это не гарантирует работу со всеми браузерами в мире (особенно не старыми), но оно будет работать со всеми современными браузерами. Кроме того, я рекомендую использовать POST везде, где это возможно (например, избегать использования GET для отправки FORM - если некоторые пользователи хотят имитировать отправку FORM через GET, убедитесь, что ваше приложение поддерживает требуемые параметры либо через POST, либо через GET, но при отправке страницы Вы сами через кнопку или JS, предпочитаете POST, а не GET).