关于HttpClient jar包下的SSLConnectionSocketFactory类的作用

请问:

  1. SSLConnectionSocketFactory 这个类的作用是什么 和同包下的SSLSocketFactory 有什么区别 找遍了搜索没有找到相关的文档都 基本都是营销号粘贴复制
  2. 这几行代码 它以及创建了TLS的SSLContext连接了 为什么还要把 SSLContext扔进SSLConnectionSocketFactory类里面, TLSv1协议不是默认的么? 图片说明
  3. 就是我用restTemplate替换HTTPClient 如下这样写 不加SSLConnectionSocketFactory 有什么问题么 我一样可以请求成功呀
        SSLContext sslContext = SSLContext.getInstance("TLS");
        sslContext.init(managerFactory.getKeyManagers(), null, new SecureRandom());

        CloseableHttpClient client =  HttpClients
                .custom()
                .setSSLContext(sslContext)
                .setSSLHostnameVerifier(new DefaultHostnameVerifier())
                .build();
        ClientHttpRequestFactory requestFactory
                = new HttpComponentsClientHttpRequestFactory(client);

        RestTemplate template = new RestTemplate(requestFactory);
        HttpHeaders headers = new HttpHeaders();
        String result = template.postForObject(url, xml, String.class);

我用httpClients直接setSSLContext 和 setSSLSocketFactory(SSLConnectionSocketFactory)有什么区别么? 求大佬解答 ----谢谢

https://blog.csdn.net/sleeping_/article/details/50500351