Module bus.http

Interface Connection

All Known Implementing Classes:
RealConnection

public interface Connection
HTTP、HTTPS或HTTPS+HTTP/2连接的套接字和流。 可以用于多个HTTP请求/响应交换。连接可以直接到源服务器,也可以通过代理

通常,此类的实例由HTTP客户机自动创建、连接和执行。 应用程序可以使用这个类 作为connection pool的成员来监视HTTP连接. 不要将这个类与错误命名的HttpURLConnection混淆,后者与其说是一个连接, 不如说是一个请求/响应交换 在协商到远程主机的安全连接时,在选择包括哪些选项时需要进行权衡。更新的TLS选项非常有用 当最大并发流限制降低时,一些分配将被取消。尝试在这些分配上创建新流将失败

  • 服务器名称指示(SNI)允许一个IP地址为多个域名协商安全连接
  • 应用层协议协商(ALPN)允许使用HTTPS端口(443)协商HTTP/2.

注意,一个分配可能在它的流完成之前被释放。这是为了使调用者更容易地进行簿记: 一旦找到终端流,就释放分配。但仅在其数据流耗尽后才完成流

Since:
Java 17+
Author:
Kimi Liu
  • Method Details

    • route

      Route route()
      Returns:
      返回此连接使用的路由
    • socket

      Socket socket()
      Returns:
      此连接使用的套接字。如果此连接是HTTPS, 则返回SSL套接字。 如果这是一个HTTP/2连接,则套接字可能由多个并发调用共享
    • handshake

      Handshake handshake()
      Returns:
      用于建立此连接的TLS握手,如果连接不是HTTPS则返回null
    • protocol

      org.miaixz.bus.core.net.Protocol protocol()
      Returns:
      此连接协商的协议,如果没有协商协议,则返回#HTTP_1_1。 此方法返回Protocol.HTTP_1_1,即使远程对等方使用Protocol.HTTP_1_0