Apache HttpComponents学习笔记(四):连接和打开连接

来源:互联网 发布:板式家具设计拆单软件 编辑:程序博客网 时间:2024/06/15 19:44

无论是JDK里的HttpURLConnection,还是Apache hc里的ManagedHttpClientConnection,其本质,都是对Socket的持有和围绕着Socket所进行的操作,这是理解它们源码的一根提纲携领的线。


我们常说的“打开连接”,其本质是如下动作:

  1. 创建一个Socket
  2. 设置Socket的各种属性
  3. 绑定Socket到本地地址(可选,socket.bind)
  4. 连接Socket到远端地址(socket.connect)

在“打开连接”里,如果是HTTPS连接,还需要额外的如下动作:

  1. sslSocket = SSLSocketFactory.createSocket(Socket, ...)
  2. 设置sslSocket的各类属性
  3. 执行SSL/TSL握手,sslSocket.startHandshake()
  4. 验证Host Name的合法性

“关闭链接”,其本质是就是关闭Socket.

上述的“打开连接”的操作,在Apache hc里都封装到了HttpClientConnectionOperator和ConnectionSocketFactory里。




0 0
原创粉丝点击