【发布时间】:2010-03-04 18:37:46
【问题描述】:
我有一个 JavaScript 小部件,它通过在 DOM 中创建标签与我的 Rails 应用程序进行通信。每隔一段时间,我就会在我的服务器日志中看到一个格式错误的请求,其中 URL 被截断为 255 个字符:
http://myapplication.example/mycontroller/1/myaction?hostname=www.mycustomer.example&request[param_a]=3&request[param_b]=1&request[param_c]=0&request[param_d]=0&request[param_e]=3&request[param_f]=1&request[param_g]=4&request[param_h]=0&request[param_i]=5&request
从 Google 和 Stackoverflow (What is the maximum length of a URL in different browsers?) 看来,255 个字符不是 URL 的有效限制。
这是我所知道的:
- 这是一个偶发问题,并非所有请求都会发生这种情况
- 发生这种情况时,URL 会被截断为 255 个字符
- 发生此错误时,用户代理不会记录在回溯中
以下是我不知道的:
- 什么类型的浏览器会出现此错误?也许是一些移动浏览器...
解决此问题的最佳方法是什么?
【问题讨论】:
-
在一些手机浏览器上听说过这个问题;不过,我找不到已确认的限制为 255 个字符的浏览器列表。你能过滤你的访问日志什么时候发生并注意浏览器吗?
-
由于您没有看到用户代理,您可能会看到蜘蛛或网络机器人,它们通常对它们可以处理的 url 长度有限制
标签: javascript ruby-on-rails url truncate