You can use Network Load Balancing (NLB), it's built in Windows, and works with standard version.
You will end with a virtual IP Address, to which client will connect.
It's IP based, so it won't detect if your web server or application stop. It will spread load against all servers until one of them is disconnected from network or dead.
You can use affinity to keep client connected on same node (hash between IP of client and virtual)
It may require special configuration on your switch, depend on setup your will choose (unicast vs multicast).
Technet article
If you also need to share data (shared windows disk through san), then you must look on Windows Failover Clustering. It's more advanced (using resource) , but need a shared storage solution.
Then you can also look for third party solution like Double take, Safekit & co.
You badly defines your needs. You choose a solution based on what will the servers hosts (web sites, mailboxes, dns, databases, custom app...).
Mainly, the solution should be designed to work in high availability, else you will experience issue and won't be supported by the software vendor in case of issue or questions.