Is this how it works?
Sim.
What would happen if the server just responded with syn
A iniciação simultânea é descrita na RFC 793 seção 3.4 e também coberta por RFC 1122 seção 4.2.2.10.
The procedure also works if two TCP simultaneously initiate the procedure. When simultaneous attempt occurs, each TCP receives a "SYN" segment which carries no acknowledgment after it has sent a "SYN".
or with just ack?
Não tenho certeza, mas acho que um RST foi enviado de volta e a conexão foi encerrada.
What would happen if the server doesn't respond at all?
What would happen if the client doesn't respond with ack?
Quando nenhuma resposta é recebida, o cliente permanece no estado SYN-SENT (servidor - SYN RECEBIDO) e, eventualmente, expira.
No geral, RFC 793 "Protocolo de Controle de Transmissão" é um recurso excelente.
Veja também RFC 1122 "Requisitos para hosts da Internet - camadas de comunicação" .