Handshaking

Learn about analog modems, three-phase handshake, handshake with HTTP, error codes, load balancers, and circuit breakers.

What is handshaking?

Handshaking refers to signaling between devices that regulate communication between them. Serial protocols such as EIA-232C (formerly known as RS-232) rely on the receiver to indicate when it’s ready to receive data. Analog modems used a form of handshaking to negotiate a speed and a signal encoding that both devices would agree upon. And, as illustrated earlier in the three-phase handshake, TCP uses a three-phase handshake to establish a socket connection. TCP handshaking also allows the receiver to signal the sender to stop sending data until the receiver is ready.

Handshaking with HTTP

Handshaking is ubiquitous in low-level communications protocols but is almost nonexistent at the application level. The sad truth is that HTTP isn’t good at shaking hands. HTTP-based protocols, such as XML-RPC or WS-I Basic, have few options available for handshaking. HTTP provides a response code of “503 Service Unavailable” which is defined to indicate a temporary condition ...