Short answer: Yapamazsın.
Long answer:
Eğer tüm genellikle işletim sistemi adını ve sürümünü içeren HTTP User-Agent başlığında bilgidir.
Genellikle, tam OS tanımlamak için yeterli bilgi göndermek, Mac OS ve Linux üzerinde çalışan tarayıcılar. Örneğin, burada benim User-Agent başlığının bulunuyor:
Mozilla/5.0 (X11; U, Linux x86_64, en-US; rv: 1.9.0.7) Gecko/2009030423 Ubuntu/8.10 (cesur) Firefox/3.0.7
Ben Ubuntu 8.10 Intrepid Ibex koşuyorum görebilirsiniz.
Ve burada benim MacBook Pro ne Firefox ve Safari 4 Beta raporu bulunuyor:
Mozilla/5.0 (Macintosh; U, Intel Mac OS X 10.5, en-US; rv: 1.9.0.7) Gecko/2009021906 Firefox/3.0.7
Mozilla/5.0 (Macintosh; U, Intel Mac OS X 10_5_6, en-us) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16
Windows tarayıcılarda, diğer taraftan, genellikle sadece OS versiyonunu değil, özel paketi (Pro, İşletme, vb) rapor:
Mozilla/5.0 (Windows; U, Windows NT 5.1, ABD-tr; rv: xxx) Gecko/20041107 Firefox / xx