web-dev-qa-db-ja.com

「_」シングルアンダースコアクエリパラメータを追加するのは誰ですか?

PHP Apacheで実行されているサーバーがあり、このようなリクエストがたくさんありますが、

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があります。

66
ZZ Coder

jQueryは、IEのキャッシングを回避するために、そのようなパラメーターを追加します。

編集:取得リクエストのためにのみ追加し、オプションキャッシュがfalseの場合のみ:

cache: false
101
Patricia
9
Colin Hebert

おそらく、キャッシュされていないコンテンツを強制的に提供するためにリバースプロキシによって追加されたダミーパラメーターです。

3
Artefacto

1283458471913は、ミリ秒単位のUNIXタイムスタンプです。おそらく、キャッシュされたバージョンではなく、新しいページを取得するボット/プロキシです。

また、AJAX nocache属性がtrueに設定されているあなたのリクエストに対してこれを引き起こすjQueryである可能性があります。

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 : "");
}
2
jfrobishow