//  home   //  advanced search   //  news   //  categories   //  sql build chart   //  downloads   //  statistics
ASP FAQ Tutorials

   8000XXXX Errors
   ASP.NET 2.0
   Classic ASP 1.0
      COM / ActiveX Components
      General Topics
      Date/Time Routines
      Email Scripts & Info
      Files/Directories & FSO
   General Concepts
   Search Engine Optimization (SEO)

Contact Us
Site Map



ASP FAQ Tutorials :: Classic ASP 1.0 :: Forms :: What is the limit on QueryString / GET / URL parameters?

What is the limit on QueryString / GET / URL parameters?

RFC 2068 states:
    Servers should be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations may not properly support these lengths.
The spec for URL length does not dictate a minimum or maximum URL length, but implementation varies by browser. On Windows: Opera supports ~4050 characters, IE 4.0+ supports exactly 2083 characters, Netscape 3 -> 4.78 support up to 8192 characters before causing errors on shut-down, and Netscape 6 supports ~2000 before causing errors on start-up. 
Note that there is no limit on the number of parameters you can stuff into a URL, but only on the length it can aggregate to. 
Keep in mind that the number of characters will be significantly reduced if you have special characters (e.g. spaces) that need to be URLEncoded (e.g. converted to the sequence '%20'). For every space, you reduce the size allowed in the remainder of the URL by 2 characters - and this holds true for many other special characters that you may encode before sending the URL to the client. 
Keep in mind, also, that the SGML spec declares that a URL as an attribute value (e.g. <a href='{url}'>) cannot be more than 1024 characters. Similarly, the GET request is stored in the server variable QUERY_STRING, which can have similar limitations in certain scenarios. 
If you are hitting a limit on length, you should consider using POST instead of GET. POST does not have such low limits on the size of name/value pairs, because the data is sent in the header, not in the URL. The limit on POST size, by default, is 2 MB on IIS 4.0 and 128 KB on IIS 5.0. POST is also a little more secure than GET -- it's tougher (though not impossible) to tinker with the values of POSTed variables, than values sitting in the querystring. 
See Article #2223 for more information on using POST to overcome limitations on length.

Related Articles

How can I mimic a client-side POST from ASP?
How do I cause/prevent ENTER being used to submit a form?
How do I change the target frame or window of a response.redirect?
How do I disable certain FORM elements?
How do I disable IE's Autocomplete feature?
How do I iterate through a form collection?
How do I make form fields read-only?
How do I make one dropdown depend on another?
How do I pass x-y coordinates to ASP, after the user clicks an image?
How do I perform spell checking from a web page?
How do I retrieve the name of the form that was submitted?
How do I retrieve the text and the value from a <SELECT> element?
How do I submit forms to a new window, with window.open() features?
How do I upload files from the client to the server?
How do I validate a credit card number in ASP?
How do I validate forms using server side script?
What is the limit on Form / POST parameters?
What is the size limit of a posted FORM field?
When I have multiple submit buttons, how do I tell which was clicked?
Which should I use: Request("item") or Request.Form("item")?
Why can't I access Request.Form() when uploading?
Why can't I pre-populate INPUT TYPE=FILE element?
Why do I get 'HTTP 405 - Resource Not Allowed' errors?
Why does my form variable become 'value, value' instead of 'value'?
Why does my input type=text value get truncated?
Why won't my <TEXTAREA> display the data I passed to it from ASP?



Created: 11/13/2001 | Last Updated: 11/13/2001 | broken links | helpful | not helpful | statistics
© Copyright 2006, UBR, Inc. All Rights Reserved. (290)


Copyright 1999-2006, All rights reserved.
Finding content
Finding content.  An error has occured...