According to Microsoft it's 2048. Since they invented the internet (and also the light, the darkness and Linux) they are right. :-) .... or.. and since IE forces this lower value, it's the lowest common denominator.
EDIT3: 9 years after - Explorer is deprecated in favor of Edge, Edge soon to be re-designed using Blink (making it very close to Chrome). I wonder how relevant this answer is.
Different browsers have different limits. But generally the limit is around 2,000 characters for the GET method of a URL. You can use a proxy page that does a POST method (if your API supports it) and that has a larger limit of 5,000 characters. We are currently investigating using a proxy page with the Google Map API as we have crashed into the 2,000 character limit.
There is no thumb rule made for the maximum URL size of HTTP Get Request as per RFC 2616 (Hypertext Transfer Protocol — HTTP/1.1 – Section 3.2.1).
Limits are imposed by various browsers and respective servers. These limits must be considered collectively while passing the query string passed in the URL in any of the HTTP Requests.
If the URL size exceeds the URL Size limit imposed by the respective browser, the request will not be passed to the server & unnecessary effort will be required to debug & handle this situation.
Maximum URL Size By...
Browser
Internet Explorer
2048 B
Microsoft Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters. Internet Explorer also has a maximum path length of 2,048 characters. This limit applies to both POST request and GET request URLs.If you are using the GET method, you are limited to a maximum of 2,048 characters, minus the number of characters in the actual path.
Mozilla Firefox
100 KB
The address bar doesn’t shows any characters beyond 65,536 characters. But the URL size can be more than that, though you cannot view it in the address bar. This holds for FireFox 1.5 up until the current FireFox version
Opera
200 KB
The URL is completely visible in the address bar even at such a big range
Chrome,Safari
100 KB
Both browsers are webkit based and seems to have almost same limit as firefox
Server
Apache
128 KB
The size is changed using the LimitRequestLine setting of the server
IIS
16 KB
Default value is 16 KB and maximum limit is 16 MB
Lotus Notes
4 KB
Further Information
Very long URLs are not recommended at all. For a web based application to be cross browser compatible, the Get Method must not be used for passing very long strings, containing more than 2000 characters.
If you are facing a situation where you need to use URLs to contain huge number of characters, then give it another thought.