in HTTP protocol there is field in header "User-Agent"
the browser type is put in this field, but it doesn't show the client operating system.
so there is no standard way to determine the client operating system from a request,
there are some alternative ways, the server can ping the host computer for each request and ask the client about operating system,
this may not work in lots of cases due to different reasons.
another way is that server puts an applet in a page, and that applet determines client operating system using System.getProperty()
since the client is local to applet, this works, and then sends client operating system to server.