Qui ajoutent "_" Paramètre de requête de soulignement unique?

J'ai un serveur PHP fonctionnant sur Apache, j'ai beaucoup de demandes ressemble à ceci,

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 

Le paramètre _ est ajouté mystérieusement à la demande. J'essaie de savoir qui fait ça.

Il existe un NetScaler fonctionnant devant Apache.

JQuery ajoute un paramètre comme ça pour contourner la mise en cache d'IE.

Edit: il ne l'ajoute que pour obtenir des requêtes, et seulement si le cache d'option est faux:

 cache: false 

Ce paramètre pourrait être JQuery CacheBuster.


Ressources :

  • [JQuery] Requêtes GData JSON "Paramètres de requête invalides: _"
  • [JQuery] Désactiver le Cache Busting en $ .getScript
  • Coin-busting

Probablement, c'est un paramètre fictif ajouté par le proxy inverse pour forcer le contenu non mis en cache pour être servi.

1283458471913 est un timestamp Unix en ms, probablement un bot / proxy qui s'assure qu'ils obtiennent une nouvelle page et non une version mise en cache.

Peut-être aussi jQuery qui causerait cela pour la demande AJAX d'avoir l'attribut nocache défini sur 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 : ""); }