Who Add "_" Single Underscore Query Parameter?
Solution 1
jQuery adds a parameter like that to get around IE's caching.
edit: it only adds it for get requests, and only if the option cache is false:
cache: false
Solution 2
It could be the JQuery CacheBuster parameter.
Resources :
- [jQuery] GData JSON queries "Invalid query parameters:_"
- [jQuery] Turn off Cache Busting in $.getScript
- Cache-busting
Solution 3
Probably it's a dummy parameter added by the reverse proxy to force non-cached content to be served.
Solution 4
1283458471913 is a unix timestamp in ms, probably a bot/proxy making sure that they get a fresh page and not a cached version.
Could also be jQuery which would cause this for AJAX request of you have the nocache attribute set to 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 : "");
}
Solution 5
Ajax tools, like jQuery, is able to ask the browser not to cache the requested result, so every request from the loaded web page will travel to web server and get the newest response.
In order to achieve that, set cache
flag as false
, then an additional query parameter, like _=1234567890
, is appended into the request URL. Of course the number is always changing, so the browser thinks it as a brand-new request and won't provide any cached things.
Related videos on Youtube
ZZ Coder
A coder trying to beat a friend on Stackoverflow reputation.
Updated on October 04, 2020Comments
-
ZZ Coder over 3 years
I have a PHP server running on Apache, I get lots of request looks like this,
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
The _ parameter is mysteriously added to the request. I am trying to find out who is doing that.
There is a NetScaler running in front of Apache.
-
RobertPitt almost 14 yearswhy is the IP
10.1.1.211
that's a local IP provided by a router/modem right? -
jfrobishow almost 14 years@RobertPitt probably the IP of the NetScaler upstream?
-
RobertPitt almost 14 yearsoki just wondered, never used NetScaler
-
-
ZZ Coder almost 14 yearsI do use jQuery but it doesn't appear in every request.
-
jfrobishow almost 14 yearsAre you using some ajax call where you specify the nocache attribute? It will only be added then and only if it's a GET request. See my code below from jQuery if(s.cache === false && type == "GET")
-
ZZ Coder almost 14 yearsI only have this one AJAX call on my page and I do set the nocache attribute. However, some requests don't have the parameter.
-
theblang over 11 yearsThis issue in our project at work was caused by
$.ajaxSetup({cache:false})
being added to a plugin that was being called. -
Kaivosukeltaja about 11 yearsNote that the option
cache
defaults tofalse
if the data type is'script'
or'jsonp'
. api.jquery.com/jQuery.ajax -
Tancrede Chazallet about 10 yearsYeah, it just ruined my request to a bank's API which doesn't accept any extra. It was coming from nowhere like "Surprise MotherF#$&@ !" -_-