title: Different communicating patterns in TLS 1.2
body: <p>I used <code>Wireshark</code> to monitor packages of some websites, but found that there are such many communicating patterns of TLS 1.2.</p>
  
  <p>The first one is a generic one:</p>
  
  <pre><code>Client: Client Hello
  Server: Server Hello, Certificate, Server Hello Done
  Client: Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
  Server: Change Cipher Spec, Encrypted Handshake Message
  </code></pre>
  
  <p>Second one is as followed:</p>
  
  <p><a href="https://i.stack.imgur.com/qiiQn.png" rel="nofollow noreferrer">Wireshark1</a></p>
  
  <p>I'm just confused with why <code>Certificate</code> and <code>Server Hello Done</code> was in another package. Who demand server to do that? For what reasons?</p>
  
  <p>After multiply refreshing page, I got the third one:</p>
  
  <p><a href="https://i.stack.imgur.com/seoU5.png" rel="nofollow noreferrer">Wireshark2</a></p>
  
  <p>Only 3 packages in handshake? A lot of processes were missed, was it because the information was cached? And how about the pre-master key?</p>
  
  <p>Thanks for the answering!</p>