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

Yoh*_*sse 6 java google-app-engine

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

两个小时后,我发现根本原因是App Engine 正在获取的URL的长度严格的限制(即从您的GAE应用程序到Web上的其他位置).此外,此问题仅在生产服务器上显示,因此在您上线之前您将不会意识到这一点.

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

问题:这是"固定的"吗?有简单的解决方案吗?

环境设置: Java App Engine SDK 1.6.1

Mar*_*nto 1

听起来您需要将其作为功能请求或错误报告提交,但是您会看到它。无论哪种情况,App Engine 团队中的优秀人员都是唯一可以为您解决此问题的人。