JDK自带的HttpURLConnection,默认启用keepAlive,支持HTTP / 1.1和HTTP / 1.0持久连接, 使用后的HttpURLConnection会放入缓存中供以后的同host:port的请求重用,底层的socket在keepAlive超时之前不会关闭。

HttpURLConnection受以下system properties控制:

http.keepAlive=(默认值:true),是否启用keepAlive,如果设置为false,则HttpURLConnection不会缓存,使用完后会关闭socket连接。

http.maxConnections=(默认值:5),每个目标host缓存socket连接的最大数。

1、如果在HttpURLConnection的header中加入Connection: close,则此连接不会启用keepAlive

2、想要启用keepAlive,程序请求完毕后,必须调用HttpURLConnection.getInputStream().close()(表示归还长连接给缓存,以供下次同host:port的请求重用底层socket连接),而不能调用HttpURLConnection.disconnect()(表示关闭底层socket连接,不会启用keepAlive)

3、keepAliveTimeout首先从http response header中获取,如果没有取到,则默认为5秒,sun.net.www.http.KeepAliveCache.java中有一个线程,每5秒执行一次,检查缓存的连接的空闲时间是否超过keepAliveTimeout,如果超过则关闭连接。从KeepAliveCache中获取缓存的连接时也会检查获取到的连接的空闲时间是否超过keepAliveTimeout,如果超过则关闭连接,并且获取下一个连接,再执行以上检查,直达获取到空闲时间在keepAliveTimeout以内的缓存连接为此。

java httpurlconnection 开链接后跳转_HttpURLConnection长连接详解相关推荐

  1. java HttpURLConnection类的disconnect方法与http长连接

    disconnect方法 java 自带的HttpURLConnection类有个关闭连接的方法disconnect(),是用于关闭http连接的,但是有一个问题在于,http连接一直都是一次性的,不 ...

  2. (013)java后台开发之Mac系统安装和配置tomcat步骤详解

    一:下载 打开Apache Tomcat官网,选择需要的版本下载: 二:存放到本地 文件夹重名民为ApacheTomcat,放到/Users/计算机名/Library/目录下 三:启动Tomcat 打 ...

  3. WEB后台--邮件和短信业务实现(包括Java一键实现、封装和异步)以及原理详解

    本来就打算针对一些固定的特别点的业务(QQ与网易邮件.拦截设计.短信.定时器等等)来进行记录以及解析原理,这些会比较零散记录在JavaWeb的分类里面,感兴趣的童鞋可以去看下. 有人问为什么要邮件短信 ...

  4. 安卓miracast花屏_创维酷开电视多屏互动Miracast玩法详解

    创维酷开电视多屏互动Miracast玩法详解 安卓手机是可以通过多屏互动Miracast玩法直接让我们手机与创维酷开电视进行无线投屏的,但是有些创维电视的Miracast功能找不到怎么办? 创维酷开电 ...

  5. java制作海报一:java使用Graphics2D 在图片上写字,文字换行算法详解

    文章目录 前言 一.直接上代码 1. 写字方法 2. 换行算法 二. 叙述换行算法 前言 代码都上传到GitHub了,这里仅仅是贴出来主要部分,GitHub传送门:https://github.com ...

  6. mysql安装后目录介绍,MySQL安装后的目录结构及配置文件详解

    MySQL安装后的目录结构及配置文件详解 MySQL安装后的目录结构及配置文件详解 MySQL目录结构说明 MySQL 安装完成后,会在磁盘上生成一个目录,该目录就被称为 MySQL 的安装目录. M ...

  7. 创维linux怎么连接wifi,创维酷开电视多屏互动Miracast玩法详解

    创维酷开电视多屏互动Miracast玩法详解 安卓手机是可以通过多屏互动Miracast玩法直接让我们手机与创维酷开电视进行无线投屏的,但是有些创维电视的Miracast功能找不到怎么办? 创维酷开电 ...

  8. python hook 微信_python实现微信跳一跳辅助工具步骤详解

    说明 1.windows上安装安卓模拟器,安卓版本5.1以上 2.模拟器里下载安装最新的微信6.6.1 3.最好使用python2.7,python3的pyhook包有bug,解决比较麻烦 步骤 1. ...

  9. Java构造和解析Json数据的两种方法详解一

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...

最新文章

  1. 2021年大数据Kafka(二):❤️Kafka特点总结和架构❤️
  2. 2010年7月微软最有价值专家(MVP)当选名单
  3. c语言中定义结构体指针的作用,c语言定义结构体指针
  4. 【BZOJ3745】Norma(CDQ分治)
  5. js进阶 12-8 如何知道鼠标和键盘当前操作的是哪个键
  6. 转:HTTP请求(GET、POST和soap区别)和响应
  7. the params of sys aud mod req msgs from TV
  8. Python的函数式编程--从入门到⎡放弃⎦
  9. 7-7自动色阶/自动对比度/自动颜色
  10. 全网首发:给doubango增加支持H264 stap-a帧
  11. 30分钟用flex测试FDS
  12. 使用bind()和connect()函数
  13. matlab查表svpwm,SVPWM的MATLAB仿真实现
  14. 【浙大翁恺】C语言习题
  15. EnableQ在线问卷调查引擎在学校教学教评中的作用
  16. Linux系统基本操作及命令详解
  17. org.postgresql.util.PSQLException: 不支援 10 验证类型
  18. python re正则模块详解
  19. Android组件安全
  20. 网易云音乐 推荐算法

热门文章

  1. Flink的Union算子和Connect算子,流合并
  2. vmware虚拟机里的服务器自动关闭,让VirtualBox虚拟机在主机关闭时自动关闭或保存状态VBoxVmService...
  3. 远程计算机关闭了怎么办,怎么远程关闭电脑 远程关闭电脑方法【详细步骤】...
  4. pt5 mysql预处理_技术分享 | MySQL 监控利器之 Pt-Stalk
  5. [专栏精选]TextMeshPro插件
  6. WSL Arch Linux 已在 Microsoft Store 上可用
  7. 如何使用Visual Studio无需成本即可实现连续集成
  8. 怎么样向云服务器上传文件_如何向云服务器传输文件
  9. C#的Navigate的异常处理
  10. python 循环语句结果存储_Hello,Python!小鲸教你学Python(八)条件语句和循环