Handshaking, iki cihazın iletişim kurabilmesi için gerekli parametreleri müzakere ettiği bir süreçtir. Farklı alanlarda kullanılan bazı handshaking türleri ve çalışma prensipleri: 1. TCP Üç Yönlü Handshaking: İnternet üzerinden iletişim kurarken TCP protokolünde kullanılır. Süreç üç aşamadan oluşur: - SYN (Synchronize): Müşteri, sunucuya bağlantı kurmak istediğini ve hangi sıra numarasıyla başlayacağını bildirir. - SYN + ACK (Synchronize-Acknowledge): Sunucu, müşterinin isteğini kabul eder ve kendi sıra numarasını gönderir. - ACK (Acknowledge): Müşteri, sunucunun yanıtını onaylar ve güvenilir bir bağlantı kurulur. 2. TLS Handshaking: Cihazlar arasında bağlantı kurmak için şifreleme anahtarları ve sertifikalar değiştirilir. 3. WebSocket Handshaking: WebSocket bağlantısının kurulmasında gerçekleşir. Süreç, HTTP protokolünden WebSocket protokolüne geçiş isteğini içerir ve aşağıdaki adımları izler: - HTTP Upgrade Request: Müşteri, sunucuya yükseltme isteğini gönderir. - Server Response: Sunucu, başarılı bir yükseltme onayıyla yanıt verir. - Headers ve Key Generation: Müşteri ve sunucu, bağlantı kurmak için gerekli bilgileri içeren başlıkları değiştirir. - Verification and Acceptance: Sunucu, alınan anahtarı doğrular ve bağlantıyı kabul ederse, yanıt anahtarını yanıt başlıklarına ekler. - Connection Establishment: Müşteri, sunucunun yanıtını aldıktan sonra bağlantıyı doğrular ve bidirectional iletişim için WebSocket bağlantısı açılır.