I'm creating an internet application the industry match to my apple iphone application. It transmits massively large Web addresses towards the web server (15000 about.) I was using NearlyFreeSpeech.internet, however they only support Web addresses as much as 2000 figures. I'm wondering if anybody knows of website hosting which will support really large Web addresses? Thanks, Isaac

Edit: My program must open an image in Safari. I possibly could do that two ways:

  • send it base64 encoded within the URL and merely echo the query parameters.
  • first Publish it towards the server during my application, then your server would send back a distinctive ID after storing the photo inside a database, that we would append to some URL that we would open in Safari which retrieved the photo in the database and remove it in the database.

The thing is, I'm lazy, and that i know Mobile Safari supports URI's as much as 80 000 figures, and so i think this can be a OK method of doing it. If there's something really wrong with this particular, please let me know.

Edit: I wound up doing the work the correct Publish way. Thanks.

If you are delivering 15,000 character lengthy Web addresses, in most likelyhood:

alt text

Use something similar to an HTTP Publish rather.

The restrictions you are accumulating against aren't a lot an problem using the hosts - it's more the truth that web servers possess a limit for the size of a URL. Based on this site, Apache limits you to definitely around 4k figures, and IIS limits you to definitely 16k automatically.

Although it isn't directly responding to your question, and there's no official maximum period of a URL, browsers and servers have practical limits - see http://world wide web.boutell.com/newfaq/misc/urllength.html for many particulars. In a nutshell, since IE (a minimum of some versions being used) does not support Web addresses over 2,083 figures, it's most likely smart to remain below that length.

If you want to just open it up in Safari, and also the server does not have to be involved, why don't you make use of a data: URI?

Delivering lengthy URIs within the network is essentially never the best factor to complete. While you observed, some web hosting companies don't support lengthy URIs. Some proxy servers could also choke on lengthy Web addresses, which means your application may not work with customers who're behind individuals proxies. Should you ever have to port your application to another browser, other browsers might not support URIs that lengthy.

If you want to get data up to and including server, make use of a Publish. Yes, this is an extra round trip, but it will likely be a lot more reliable.

Also, if you're uploading data towards the server utilizing a GET request, then you're susceptible to a myriad of mix-site request forgery attacks essentially, an assailant can trick the consumer into uploading, say, goatse for their account by simply providing them with to click a hyperlink (possibly hidden by TinyURL or any other URL shortening service, or simply embedded like a link inside a web site once they don't look carefully in the URL they are hitting).

You shouldn't use GET for delivering data towards the server, beyond query parameters that do not really change anything around the server.