Ich habe einen PHP-Server auf Apache, ich bekomme viele Anfragen sieht so aus,
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
Der Parameter _ wird der Anforderung auf mysteriöse Weise hinzugefügt. Ich versuche herauszufinden, wer das tut.
Vor Apache läuft ein NetScaler.
10.1.1.211
eine lokale IP, die von einem Router / Modem bereitgestellt wird?Antworten:
jQuery fügt einen solchen Parameter hinzu, um das Zwischenspeichern des IE zu umgehen.
Bearbeiten: Es wird nur zum Abrufen von Anforderungen hinzugefügt und nur, wenn der Optionscache falsch ist:
cache: false
quelle
cache
standardmäßig verwendet wird,false
wenn der Datentyp'script'
oder ist'jsonp'
. api.jquery.com/jQuery.ajaxDies kann der Parameter JQuery CacheBuster sein.
Ressourcen:
quelle
Wahrscheinlich handelt es sich um einen Dummy-Parameter, der vom Reverse-Proxy hinzugefügt wird, um die Bereitstellung von nicht zwischengespeicherten Inhalten zu erzwingen.
quelle
1283458471913 ist ein Unix-Zeitstempel in ms, wahrscheinlich ein Bot / Proxy, der sicherstellt, dass sie eine neue Seite und keine zwischengespeicherte Version erhalten.
Könnte auch jQuery sein, was dazu führen würde, dass bei einer AJAX-Anforderung von Ihnen das Nocache-Attribut auf true gesetzt ist.
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 : ""); }
quelle
Ajax-Tools wie jQuery können den Browser auffordern, das angeforderte Ergebnis nicht zwischenzuspeichern, sodass jede Anforderung von der geladenen Webseite zum Webserver geleitet wird und die neueste Antwort erhält.
Um dies zu erreichen, setzen Sie das
cache
Flag alsfalse
, und ein zusätzlicher Abfrageparameter wie_=1234567890
wird an die Anforderungs-URL angehängt. Natürlich ändert sich die Anzahl ständig, so dass der Browser dies als brandneue Anfrage betrachtet und keine zwischengespeicherten Dinge bereitstellt.quelle