我集成了一个软件,他们将他们的文档发送到我的url,查询字符串值太大。即一个参数超过75000个字符。我正处于研发阶段,以检查集成是否有效。我知道浏览器会限制查询字符串。我想把他们的文档放到我的服务器上。我在谷歌上搜索,但没有得到答案。该url的格式如下:
Http:\\myurl?document=thierdocument in base64 encoded format指导我克服这个问题
发布于 2011-07-15 20:40:46
这是行不通的。根据浏览器的不同,查询字符串限制在几千个字符以内(即2083 characters for IE)。改为使用HTTP POST,并将二进制格式的文档放入请求正文中。
网址的主要思想是成为统一资源定位器,而不是将所有数据作为网址本身的一部分进行传递。您不能绕过浏览器对URL的限制(可以说您也不应该这样做)--另一种方法是以数字或Guid的形式传递文档id,然后查找该文档以将其作为页面的一部分进行处理。
发布于 2011-07-15 20:39:49
我的建议是将数据从查询字符串移动到post表单。
我的建议是将数据从查询字符串移动到post表单。
为什么?
一个原因是url数据,包括你的大字符串,被用来知道页面是否会被浏览器缓存。所以我认为浏览器他自己有一个问题,记住这个大字符串。
另一个原因是,这个url是按原样移动的,是一个很大的url,并且很可能无法到达目标。
IE中的2083个字符我认为只在URL上引用,而不是在包含的数据上引用。
发布于 2011-07-15 20:53:10
您将不得不使用POST query来执行此操作。
摘自What is the limit on QueryString / GET / URL parameters?
网址长度的规范并没有规定最小或最大网址长度,但实现方式因浏览器而异。在视窗系统上: Opera支持大约4050个字符,IE 4.0+支持2083个字符,Netscape 3 -> 4.78支持最多8192个字符,然后在关机时导致错误,Netscape 6支持大约2000个字符,然后在启动时导致错误。
https://stackoverflow.com/questions/6707044
复制相似问题