title: How can I deal with HTTP GET query string length limitations and still want to be RESTful?
body: <p>As stated in <a href="http://www.boutell.com/newfaq/misc/urllength.html" rel="noreferrer">http://www.boutell.com/newfaq/misc/urllength.html</a>, HTTP query string have limited length. It can be limited by the client (Firefox, IE, ...), the server (Apache, IIS, ...) or the network equipment (applicative firewall, ...).</p>
  
  <p>Today I face this problem with a search form. We developed a search form with a lot of fields, and this form is sent to the server as a GET request, so I can bookmark the resulting page.</p>
  
  <p>We have so many fields that our query string is 1100 bytes long, and we have a firewall that drops HTTP GET requests with more than 1024 bytes. Our system administrator recommends us to use POST instead so there will be no limitation.</p>
  
  <p>Sure, POST will work, but I really feel a search as a GET and not a POST. So I think I will review our field names to ensure the query string is not too long, and if I can't I will be pragmatic and use POST.</p>
  
  <p>But is there a flaw in the design of RESTful services? If we have limited length in GET request, how can I do to send large objects to a RESTful webservice? For example, if I have a program that makes calculations based on a file, and I want to provide a RESTful webservice like this: <code>http://compute.com?content=&lt;base64 file&gt;</code>. This won't work because the query string has not unlimited length.</p>
  
  <p>I'm a little puzzled...</p>