This depends on the browser you are using.
From RFC 2616 (rfc2616) - Hypertext Transfer Protocol -- HTTP/1.1
The HTTP protocol does not place any a
priori limit on the length of a
URI. Servers MUST be able to handle
the URI of any resource they serve,
and SHOULD be able to handle URIs of
unbounded length if they provide
GET-based forms that could generate
such URIs. A server SHOULD return
414 (Request-URI Too Long) status if a
URI is longer than the server can
handle (see section 10.4.15).
Note: Servers ought to be cautious about depending on URI
lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.
Maximum URL length is 2,083 characters in Internet Explorer
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.
However, the POST method is not
limited by the size of the URL for
submitting name/value pairs. These
pairs are transferred in the header
and not in the URL.
From http://www.boutell.com/newfaq/misc/urllength.html
Firefox (Browser)
After 65,536 characters, the location bar no longer displays the URL in Windows Firefox
1.5.x. However, longer URLs will work. I stopped testing after 100,000 characters.
Safari (Browser)
At least 80,000 characters will work. I stopped testing after 80,000 characters.
Opera (Browser)
At least 190,000 characters will work. I stopped testing after 190,000 characters. Opera > 9 for Windows continued to display a fully editable, copyable and pasteable URL in the
location bar even at 190,000 characters.
Apache (Server)
My early attempts to measure the maximum URL length in web browsers bumped into a server > URL length limit of approximately 4,000 characters, after which Apache produces a "413
Entity Too Large" error. I used the current up to date Apache build found in Red Hat
Enterprise Linux 4. The official Apache documentation only mentions an 8,192-byte limit
on an individual field in a request.
Microsoft Internet Information Server
The default limit is 16,384 characters (yes, Microsoft's web server accepts longer URLs
than Microsoft's web browser). This is configurable.
Perl HTTP::Daemon (Server)
Up to 8,000 bytes will work. Those constructing web application servers with Perl's
HTTP::Daemon module will encounter a 16,384 byte limit on the combined size of all HTTP
request headers. This does not include POST-method form data, file uploads, etc., but it > does include the URL. In practice this resulted in a 413 error when a URL was
significantly longer than 8,000 characters. This limitation can be easily removed. Look
for all occurrences of 16x1024 in Daemon.pm and replace them with a larger value. Of
course, this does increase your exposure to denial of service attacks.