I'm going to say this up front so that there is no misunderstanding: I do not know much about proxy server software, but I have to find a product that will do two very specific things. I'm being fed requirements from developers. I hope what I'm about to ask will make sense.
We need a proxy server to do testing for our web-based product. The proxy server must be able to do two things:
1) Make back-to-back, "double" requests for certain ASP pages. For example, it needs to be able to request an ASP page twice in a row, once for the purposes of caching the file and once for delivery to the client browser. Here is a SANITIZED copy of the IIS logs showing this in action in the real world:
2007-02-05 16:17:06 W3SVC1 SERVERNAME [IP ADDRESS] GET /roadshows.asp - 80 - [IP ADDRESS} HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+InfoPath.1;+.NET+CLR+2.0.50727) flashVer=7;+bwc=0;+ASPSESSIONIDSARQAASA=NMOFJDPCFMFKFFJOLLNHHPOF - http://www.domainname.com 200 0 0 16633 534 281
2007-02-05 16:17:18 W3SVC1 SERVERNAME [IP ADDRESS] GET /sys/loader.asp qv=62387&i=391 80 - [IP ADDRESS] HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+InfoPath.1;+.NET+CLR+2.0.50727) flashVer=7;+bwc=0;+ASPSESSIONIDSARQAASA=NMOFJDPCFMFKFFJOLLNHHPOF;+cookies=true http://www.domainname.com/roadshows.asp http://www.domainname.com 200 0 0 435 618 249
2007-02-05 16:17:18 W3SVC1 SERVERNAME [IP ADDRESS] GET /sys/launch.asp qv=7035965006835045&k=83786888886 80 - [IP ADDRESS] HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+InfoPath.1;+.NET+CLR+2.0.50727) flashVer=7;+bwc=0;+ASPSESSIONIDSARQAASA=NMOFJDPCFMFKFFJOLLNHHPOF;+cookies=true - http://www.domainname.com 200 0 0 2555 583 140
2007-02-05 16:17:18 W3SVC1 SERVERNAME [IP ADDRESS] GET /platform/roadshow/wrapper_106.asp qv=88350&k=83786888886&c=%2Fconsoles%2Fstandard%2Froadshow%5F106%2Eswf 80 - [IP ADDRESS] HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+InfoPath.1;+.NET+CLR+2.0.50727) flashVer=7;+bwc=0;+ASPSESSIONIDSARQAASA=NMOFJDPCFMFKFFJOLLNHHPOF;+cookies=true http://www.domainname.com/sys/launch.as ... 3786888886 http://www.domainname.com 200 0 0 5177 770 156
2007-02-05 16:17:18 W3SVC1 SERVERNAME [IP ADDRESS] GET /sys/logdb.asp qv=55643&m=p&k=83786888886 80 - [IP ADDRESS] HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+InfoPath.1;+.NET+CLR+2.0.50727) flashVer=7;+bwc=0;+ASPSESSIONIDSARQAASA=NMOFJDPCFMFKFFJOLLNHHPOF;+cookies=true http://www.[IP ADDRESS].com/sys/launch.asp?qv=7035965006835045&k=83786888886 http://www.domainname.com 200 0 0 324 706 312
2007-02-05 16:17:18 W3SVC1 SERVERNAME [IP ADDRESS] GET /sys/wrapperInc.asp qv=15175&k=83786888886 80 - [IP ADDRESS] HTTP/1.1 Mozilla/4.0+(compatible;) - - http://www.domainname.com 200 0 0 396 280 156
2007-02-05 16:17:18 W3SVC1 SERVERNAME [IP ADDRESS] GET /sys/wrapperInc.asp qv=15175&k=83786888886 80 - [IP ADDRESS] HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+InfoPath.1;+.NET+CLR+2.0.50727) flashVer=7;+bwc=0;+ASPSESSIONIDSARQAASA=NMOFJDPCFMFKFFJOLLNHHPOF;+cookies=true http://www.domainname.com/platform/road ... F106%2Eswf http://www.domainname.com 200 0 0 354 560 203
2007-02-05 16:17:20 W3SVC1 SERVERNAME [IP ADDRESS] GET /sys/getData.asp id=31519968344 80 - [IP ADDRESS] HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+InfoPath.1;+.NET+CLR+2.0.50727) flashVer=7;+bwc=0;+ASPSESSIONIDSARQAASA=NMOFJDPCFMFKFFJOLLNHHPOF;+cookies=true - http://www.domainname.com 200 0 0 345 407 296
Notice how back-to-back requests are made by the proxy server for /sys/wrapperInc.asp. One of these requests is passed through by the proxy server to our server with all ASP session cookie headers intact. The other doesn't have the ASP session cookie headers, indicating that it is simply the proxy server trying to cache the page.
2) Return the cached version of an ASP page that is the source of a <script> include tag. Here's an example of a line of code that causes this to happen for certain proxy servers.
<script language="javascript" src="/sys/wrapperInc.asp?qv=873643&k=50204735"></script>
Does anyone know if WinGate will do this? I would GREATLY appreciate some help.