为什么URL的长度存在服务器端限制?

时间:2012-03-02 08:29:25

标签: java google-app-engine

My Java Servlet通过URLFetchService.fetch(HTTPRequest request)方法使用Facebook Graph API。这已经好几个星期了,但是今天我测试的查询的长度比以前的查询长得多 - 大约2300个字符。此查询导致抛出MalformedURLException : Invalid URL错误。

两小时后,我发现根本原因是App Engine正在获取hard limit on the length of a URL(即从您的GAE应用程序到网络上的其他地方)。此外,此问题仅在生产服务器上显示,因此在您上线之前您将不会意识到这一点。

为什么会这样?我的意思是,随着JSON和REST服务的激增,我可以预见会有更多的人形成比当前最大长度更长的查询,因为他们会对不同的服务进行各种API调用。

问题:这会被“修复”吗?有一个简单的解决方案吗?

环境设置: Java App Engine SDK 1.6.1

1 个答案:

答案 0 :(得分:1)

听起来你需要file this as a feature request或错误报告,不过你看到了。在任何一种情况下,App Engine团队中的优秀人员都是唯一可以为您解决此问题的人。