Three Way Handshake is used to share information between the client and server to synchronize the parameters that are going to be used in the connection

TCP Header

TCP Header without any of the options is 20 bytes (10 mandatory fields)
The options are only shared between the client and server during the initial Handshake

TCP Flags

FlagsDescription
SYN (Synchronization)Synchronization request for initialization of connection
ACK (Acknowledgment)Acknowledges receipt of packet
FIN (Finish)Teardown virtual connection established between the hosts
RST (Reset)Send when host receives unexpected data
PSH (Push)Informs to process the data with priority
URG (Urgent)Packets to be processed immediately

The RST flag will be send if client makes a request to a server that is not currently accepting any new connection
PSH increases the priority of the transmitted data
URG on the other hand causes packets that are already in the queue will be ignored (The URG packets need to be processed immediately)