Eric, If no beats me to it, I'll review and commit your patches later this weekend.
Thanks. Bill > This documents tests and provides a test harnes for patches given in > Messge-ID: <[EMAIL PROTECTED]>. > > Using my good buddies patchPanel and xterm, I tested the disk caching > with regards to observing the Vary header. The attached tarball is > intended to be expanded in the directory containing httpd-2.0/. > > ALL EXCITED TO PLAY: > If all goes oddly well, you should be able to > make -f diskCache/Makefile > and go take a leak. When you come back, you should have three xterms > proxy server > manual server > manual client > Anything you type into manual client will go to proxy server and be > relayed to a newly running apache proxy server running on port 9003. > The proxy server will relay its requests on to whatever is specified > in the GET and HOST lines. The sample request sends the requests on > to the manual server where you will have to provide the response. > You can GET stuff from a real server, but this gives you a bit more > control. > > SPECIFIC TESTS: > You enter a forest of xterms, each with a different title. The one > labeld "connected 3 9004" should have > connected 3 to 9004 > in the top. Enter a '/' followed by the command > cat diskCache/proxyTest-request.http 1 > This will send a request to the proxy server which will relay it to > the manual server. Now you have to play the role of manual server > so you go to that window, enter a '/' and give the command > cat diskCache/proxyTest-response.http 2 > to give a response back to the proxy and client. > > The proxy should create the file > [EMAIL PROTECTED] > which holds the headers for the request and response. > > You can mark where you are in each patchPanel with > /echo virgin cache > > The proxy server should have seen > > GET http://localhost:9005/doc1 HTTP/1.1 > Host: localhost:9005 > Header1: Value1 > Header2: Value2 > > HTTP/1.1 200 OK > Date: Fri, 16 Aug 2002 21:12:14 GMT > Server: Apache/2.0.41-dev (Unix) > Content-Location: doc1.xhtml > Vary: Header1,Header2 > Last-Modified: Mon, 05 Aug 2002 08:32:14 GMT > ETag: "4301b8-102-c6d39f80;fb6d5700" > Accept-Ranges: bytes > Cache-Control: max-age=600000 > Expires: Fri, 16 Aug 2003 20:26:20 GMT > Content-Type: text/plain > Via: 1.1 127.0.0.1:9003 > Content-Length: 14 > > line 1 > line 2 > > Entering the same request in (quickly, before you lose your the proxy > server's attention) should result in the same reply, without touching > the manual server. Changing one of the vary fields: > GET http://localhost:9005/doc1 HTTP/1.1 > Host: localhost:9005 > Header1: Value1 > Header2: Value2b > > should result in the request going back to the manual server. Thus I > declare the vary support a success. > > BORED NOW: > After you get tired of screwing around with this stuff > make -f diskCache/Makefile kill > will kill off the proxy server and you can > /quit > in each of the patchPanel windows. > > TODO: > -There are a few code paths with conditional caching that I haven't > looked at. > > -It would be cool to retrieve the Vary headers for foo (by the current > mechanism), compute a new hash from the request values of those > headers, and look for a cached variant matching that request. This > could be done only when the first cache fails the varies tests. Then > it would only create work when would have had to fail anyways. > > -Add HTTP Extensions support to the cache validity calculation. I have > patches for this, but I'll wait 'till I've got fewer outstanding > patches (2 currently, typedefFuncs-20020816.patch and > diskCache-20020816.patch). > > Despite these todos, I believe it is a good idea to integrate this > patches as disk caching doesn't really work now so they at least > improve the situation. > -- > -eric > > ([EMAIL PROTECTED]) > Feel free to forward this message to any list for any purpose other than > email address distribution. >
