-3

この単純なコードを使用しています。

#include "gwan.h"

int main(int argc, char *argv[]) 
{
  xbuf_t *reply = get_reply(argv), *read_buff;

 read_buff = (xbuf_t*)get_env(argv, READ_XBUF);
 xbuf_cat(reply, "START\n"); xbuf_ncat(reply, read_buff->ptr, read_buff->len); xbuf_cat(reply, "END\n");

 // this line is important if I don't use read_buff everything seems OK
 // but I need parse read_buff :(
 printf("%s\n", read_buff->ptr); // this line is most important

return 200;
}

最初はすべて問題ないように見える

shell:~$ for I in seq 0 1; do curl -A "" -H "TST: ${I}" ' http://test.com:8080/?read_buf.c&scp=3 '; 終わり

START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0

END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 1

END

ループをもう一度実行する

START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0

END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 1

END

ループをもう一度実行する

START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0

END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 1

END

しかし、私の問題があります。TST はまだ 0 ですか?

ループをもう一度実行する

START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0

END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0

END

ループをもう一度実行する

START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0

END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0

END

なんで?キャッシングのため?無効にする方法は?

PS: サーブレットは G-WAN 4.3.14 で実行されていました

4

1 に答える 1

0

この質問は、私たちが電子メールで返信したに投稿されたものであるため、主張されている技術的口実とはかけ離れた真の目的に疑いの余地はほとんどありません。

人々に判断してもらうために、私たちがその男に電子メールで送った返信は次のとおりです。


すべてのユーザーは、スクリプトが表示しているものを見ることができます。

また、スクリプトはユーザー セッションを使用していません。同時実行では、このスクリプトはすべてのクライアントに対して同じ情報を同じ方法で表示します。

G-WAN はそれを検出します。これは、スクリプトが遅いため (おそらくコンソールへの出力が原因で)、キャッシュをトリガーしています。

そのようなアプリケーションは現実の世界には存在しません。パーソナライズされた URI パラメーター、または POST エンティティ、さらには Cookie を使用することになりますが、これはテストで慎重に回避するものであるため、無関係です。

さらに、G-WAN FAQ を読むと役立つ場合があります。

http://gwan.ch/faq#cache

最後に、G-WAN は既存の Web フレームワークと競合するように作成されたわけではありません。目標は、私たち自身のプロジェクトのニーズを満たすことだけでした:

http://twd-industries.com/

ここで G-WAN は、適切に使用することを意図して作成したため、このタスクに非常に適しています。

于 2013-04-05T11:38:35.047 に答える