谁添加“_”单个下划线查询参数?

我有一个Apache服务器上运行的PHP服务器,我得到很多请求看起来像这样,

10.1.1.211 - - [02/Sep/2010:16:14:31 -0400] "GET /request?_=1283458471913&action=get_list HTTP/1.1" 200 547 0 "http://www.example.com/request" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)" 28632 15602 

_参数被神秘地添加到请求中。 我正在试图找出谁在做这件事。

有一个在Apache前面运行的NetScaler。

jQuery增加了一个这样的参数来解决IE的caching问题。

编辑:它只添加它获取请求,并且只有当选项caching为false时:

 cache: false 

它可能是JQuery CacheBuster参数。


资源:

  • [jQuery] GData JSON查询“无效的查询参数:_”
  • [jQuery]closures$ .getScript中的Cache Busting
  • caching无效

可能是反向代理添加的虚拟参数,以强制非caching的内容提供服务。

1283458471913是以毫秒为单位的unix时间戳,可能是一个bot /代理,确保它们获得新的页面而不是caching的版本。

也可能是jQuery,这会导致您的AJAX请求您的nocache属性设置为true。

 if ( s.cache === false && type == "GET" ) { var ts = now(); // try replacing _= if it is there var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2″); // if nothing was replaced, add timestamp to the end s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : ""); }