首先这里简单提及一下HTTP协议,HTTP协议是位于应用层面向对象的协议,现在WWW中使用的是HTTP/1.1版本,关于HTTP/1.0也是今天要说的内容。

HTTP1.1比特HTTP1.0相比而言,最大的区别就是增加了持久连接支持。

在HTTP/1.0中,默认使用的是短连接。即浏览器和服务器每进行一次HTTP操作,就会建立一次连接,任务结束就断开连接。当浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(Js文件、css文件等),就会建立一个HTTP会话。

在HTTP/1.1起,默认使用长连接。用以保持连接特性。【长连接通常在响应头会添加 Connection:keep-alive 】。使用长连接的情况下,当某个网页打开完毕之后,客户端和服务器之间的TCP连接不会关闭,如果客户端再次访问该服务器上的网页,会使用上一次已经建立的连接。长连接不是永久保持连接,它有一个保持时间。实现长连接的前提是客户端和服务器端都需要支持长连接。

我们都知道,HTTP是基于TCP的应用层协议。HTTP的长连接和短连接,本质上是 TCP长连接和短连接。

基于TCP的协议,在数据通信之前需要完成三次握手,结束通信需要完成四次挥手。每次建立连接都是需要时间代价的。

1、短连接

模型:连接-----传输数据-----关闭连接

短连接是指三次握手建立连接之后,client向server发送消息,然后server回复client消息,一次读写操作完成之后,发起断开连接请求。一般情况下,close动作是由client发起的。

2、长连接

连接-----传输数据-----保持连接-----传输数据-----保

httpclient 设置短连接_关于HTTP的长连接和短连接那些事相关推荐

  1. java 短连接转长连接_转:关于长连接和短连接

    TCP/IP通信程序设计的丰富多样性 刚接触TCP/IP通信设计的人根据范例可以很快编出一个通信程 序,据此一些人可能会认为TCP/IP编程很简单.其实不然, TCP/IP编程具有较为丰富的内容.其编 ...

  2. 小米手机 java 代码无法连接短信_小米手机无法接受和发送短信,为什么?

    展开全部 可能是以下32313133353236313431303231363533e4b893e5b19e31333363396462的几个原因: 1.手机短信存储已满  在不断地接收短信的过程中, ...

  3. php-fpm mysql 长连接_分析:PHP长连接的硬伤

    上篇博文<PHP的CURL报错的排查记录:短连接的成本真的很高啊>,我提到PHP长连接有个硬伤,那么硬伤到底在哪里呢? 我们写一个简易的memcache客户端来分析下这个问题,数据库等扩展 ...

  4. windows下客户端连接上马上会断开连接_浅尝Java NIO与Tomcat简单连接调优

    P本文使用jdk1.8.0_45spring boot 2.1.4.RELEASE 涉及源码都放在https://github.com/sabersword/Nio 前因 这周遇到一个连接断开的问题, ...

  5. 新浪短链接服务Android,新浪长链接转短连接API

    /** * URL地址长短切换,由sina新浪短链接API生成 * User: chenqt * Date: 2016/8/23 * Time: 18:45 */ class UrlSwitch { ...

  6. java url 短链接_推荐几个官方腾讯短链接url接口(含PHP演示代码)

    腾讯短链接url接口是腾讯官方对外发布的短链接生成接口,可以将长链接缩短生成类似于 "http://url.cn/xxxx" 格式的url,相较于新浪短链接的广泛应用场景,腾讯短链 ...

  7. 谷歌地球无法连接_为什么最有价值的商业活动是“建立连接”?

    2019年中,全球市值前五大的公司分别为:微软.苹果.亚马逊.谷歌.脸书,第六名是伯克希尔哈撒韦,第七和第八名为阿里巴巴和腾讯.这八家企业乍一看,剔除股神的伯克希尔哈撒韦,都有一个共同点,就是都算科技 ...

  8. httpclient 设置超时时间_面试官:技术选型,HttpClient还是OkHttp?

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 来源:juejin.im/post/6844904040644476941 推荐 ...

  9. centos6安装mysql并远程连接_如何开启phpstudy中mysql的远程连接

    phpstudy是一款非常方便的php集成环境,许多人会使用它作为PHP网站的实验环境.phpstudy中也集成了Mysql数据库,那么集成环境中的mysql数据库如何才能远程连接呢? 通常情况下,实 ...

最新文章

  1. blast程序 介绍 简介
  2. 苹果为何加强云计算布局 汤换药也换?
  3. 一个简单的反向连接服务程序
  4. 已知数据信息为 16位,最少应附加( )位校验位,以实现海明码纠错。
  5. vscode给java项目传递args[]参数
  6. 运维学习之进程的定义及其命令的使用
  7. Python之IPython开发实践
  8. win11搜索栏无法输入 Windows11搜索栏无法输入的解决方法
  9. mybatis自定义插件
  10. python3扫描_Python3实现TCP端口扫描器
  11. 译:用iPhone SDK来画饼图(Pie Charts)报表
  12. Cocos Creator 使用位图工具BMFont自定义字体 fnt
  13. 软考高项-质量管理论文范文
  14. python商业爬虫教程_python商业爬虫课程
  15. Unity3d常用快捷键
  16. 活着的意义--读《此生未完成》有感
  17. 基于DDD的微服务设计和开发实战
  18. 台式计算机默认关机变注销,win10系统关机变注销的解决方案
  19. 【Hibernate步步为营】--详解基本映射
  20. python中文分句_python实现中文文本分句的例子

热门文章

  1. 新浪微博授权失败,redirect_url与应用注册的网址不一致
  2. java-Map接口
  3. 求函数:x的n次方(函数调用)
  4. js中元素样式设置的六种方法
  5. 第一章计算机系统概述答案,1第一章计算机系统概论.ppt
  6. java设备未就绪_java.io.IOException: 设备未就绪。怎么解决?
  7. 移动端测试——PO模式 (8)
  8. Appium+Pytest+Allure集成PO项目管理模式实现自动化测试
  9. 属性动画Android动画,Android动画(三)属性动画Animator与Interpolator
  10. es拼音分词 大帅哥_8 种架构设计模式优缺点大曝光 | 原力计划