I will disagree with John Wu. There is a lot of information that a website you connect to can gather about your computer from the simple TCP connection performed.
p0f - the first (and still active) passive fingerprinter, analyses details of your connection including:
- Order of TCP options (gives away the OS, often the version of the OS)
- MTU (gives away the type of connection used: ADSL, PPoP)
- TTL (gives away the OS to some extent, and can map your NAT if combined with timestamping, see below).
The README for p0f cites almost a hundred little information disclosure vectors. But the most important one is TCP timestamping, by which a website you connect to can determine the uptime of the system.
You may think that knowing the uptime of your system is no big deal, but by the contrary. Several OSes send the TCP timestamp based on their uptime and to the granularity of miliseconds, and, therefore, the timestamp identifies your system very well. There are not many computers that were booted exactly on the 22nd of October, 2016 at 5PM, 32 minutes and 4.589 seconds.
Of course, the ability to track your machine through passive fingerprinting decreases significantly once you reboot it. But companies like google are more interested about a browsing session performed, not necessarily your repeating habits day by day.
Extra references