title: Java (JDK1.8) is not setting server_name extension in SSL handshake when hostname has '_'
body: <pre><code>CloseableHttpClient httpclient = HttpClients.createDefault();
  HttpGet httpget = new HttpGet(url);
  System.out.println(httpclient.execute(httpget));
  </code></pre>
  
  <p>I am using this programming snippet and using this with couple of urls. "<a href="https://abc.def.com/file.txt" rel="nofollow noreferrer">https://abc.def.com/file.txt</a>" and "<a href="https://ab_c.def.com/file.txt" rel="nofollow noreferrer">https://ab_c.def.com/file.txt</a>" (actual names i used exist - this is just an example). When i run the code with -Djavax.net.debug=ssl:handshake:data options set, I see _<strong>server_name</strong>_ extension is added only in case of abc.def.com and not in case of ab_c.def.com.</p>
  
  <p>I am aware that java.net.URL package doesn't allow '_' in hostname. Is this a similar issue? Is there any workaround to get the SSL handshake include the hostname with '_'? </p>