The Below information is gathered using client-side JavaScript
Notes:
Both the client side and the server side are aware of the "user agent" - the term used for the combination of the web browser software and the operating system it is running on. Here both sides display it.
Both the client and the server are aware of the current cookies. Here only server side displays them.
Both the client and the server are aware of the prior web page (referrer). Here both sides display it.
If you open a new instance of the web browser and it defaults to a blank page and you enter a URL in the address bar, then there is no referrer field. In this case, the above will say that you came to this web page directly.
You test for the existence of a member of a collection in VBscript by using a null string. This is used both in the proxy server test in server side VBScript ASP and in the client side with JavaScript.
The Proxy Server test in server side ASP is based on the HTTP_VIA member of the request.servervariables collection. If this member exists in the collection, it is assumed you came through a proxy server.
Only the client side is aware of the version of JavaScript supported by your browser. Is there an equivalent thing on the server side to test for the version/release of ASP and/or version/release of language runtimes?
Data that only the client side knows can be sent back to the server. The client needs to write the data out as a query string appended to a URL. It then invokes an ASP page by setting the location.href. The ASP page can easily interrogate the query string generated by the client.