4.12.1.3 Cache/Proxy Server and Origin Server Communication
The following steps demonstrate the cache/proxy server and origin server communication:
The cache/proxy server requests content information from the origin server by sending a GetContentInfo request.
The origin server responds with the Cache-Control header for the content.
Optional: Additional handshaking can occur depending on the implementation of the origin server.
The cache/proxy server determines whether to cache the content that the origin server is about to stream. If the content is to be cached, the cache/proxy server stores the Cache-Control header information and the content in the local cache.
If the content is not fully cached in the cache/proxy server's local cache, or if the content will not be cached, the cache/proxy server sends a Describe request followed by a Play request to the origin server.
The cache/proxy sends the $H and $D packets for the requested content to the client. Depending on whether the content is already fully cached, the source is either the cache/proxy server's local cache or the origin server.
The cache/proxy server communicates any subscribed-to events (as indicated within the x-wms-event-subscription directive on the Cache-Control header) to the origin server.
The following shows a sample GetContentInfo request and the corresponding response.
Client to Server:
-
POST /welcome2.asf?WMCache=0 HTTP/1.1 User-Agent: WMCacheProxy/9.0.0.3177 Via: HTTP/1.1 WMCacheProxy (WMCacheProxy/9.0.0.3177) Max-Forwards: 9 Accept-Charset: UTF-8, *;q=0.1 Pragma: xClientGUID={00000000-0000-0000-0000-000000000000} X-Accept-Authentication: Negotiate, NTLM, Digest Content-Type: application/x-wms-getcontentinfo Host: myhost:87 Content-Length: 1 Connection: Keep-Alive
Server to Client:
-
HTTP/1.1 200 OK Server: Cougar/9.00.00.3178 Date: Wed, 31 Jul 2002 00:13:03 GMT Pragma: no-cache, xResetStrm=1, timeout=60000 Cache-Control: no-cache, x-wms-content-size=2139795, max-age=86399, user-public, must-revalidate, proxy-public, proxy-revalidate Last-Modified: Fri, 30 Jun 2000 09:37:24 GMT Etag: "2139795" Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache Content-Length: 0