Humans have special receptors called osmoreceptors in our brains that watch for the amount of sodium in the blood. When the amount gets too high it means the body needs to have more water and the osmoreceptors release a hormone called arginine vasopressin. AVP causes the thirst center in our brain to trigger. It also signals our kidneys to hold onto more water in the mean time to keep sodium levels in check.
Food on the other hand is based on blood sugar levels. When blood sugar levels get low (i.e. when we’ve finished digesting a meal and used up some of the energy), a hormone called ghrelin gets released. This causes the smooth muscle tissue of our digestive system to get to work and absorb more energy. If there’s nothing left in the stomach, you get a growling stomach and your brain triggers that it’s time to eat.
its our hormones, if we have too little of something, some reactions in our body won’t work properly which causes some complex shit to happen that, in the end releases hormons (or other signals) whose singal your brain that theres need for that so the brain makes you feel hunghy/thirsty in return
edit: that is very bad english, i’ll try to explain again if needed
It’s quite complicated and not well understood.
Thirst is primarily controlled by salts concentration in the blood. If you eat a bunch of really salty food you’ll feel thirsty even if you have been drinking a lot of water. It’s a pretty quick response because water is important.
Hunger is the more complex one. Blood sugar levels, stomach stretching, a whole bunch of hormones, psychological factors, etc.
They are definitely different sensations, so the brain can tell them apart as easily as heat vs pressure. However, sometimes aspects overlap (like stomach stretching and psychological factors). For example stomach stretching affects hunger, but you could stretch your stomach by drinking a ton of water.
Latest Answers