Handshake

A handshake refers to an automated process of negotation between two devices or systems, establishing a connection and communication parameters before they start exchanging data.

In networking, a handshake often involves three steps, commonly known as the "three-way handshake". For instance, in the TCP/IP protocol, when a device wants to establish a connection with another device, it sends a message (SYN), the receiver acknowledges this request by sending back a message (SYN-ACK), and finally, the initiator acknowledges this acknowledgment (ACK).

This process ensures that both ends are ready to communicate, agree on how they'll communicate (such as speed, data format), and that the connection is secure and reliable.

In other scenarios, like in a secure HTTPS connection, a handshake also involves steps to establish a secure and encrypted communication channel, including the exchange of encryption keys and security certificates. This is crucial for safe data transfer on the internet, ensuring that data is unreadable to unauthorized parties.