关于后端:20-HTTP-长连接与短连接

2次阅读

共计 1533 个字符,预计需要花费 4 分钟才能阅读完成。

20 HTTP 长连贯与短连贯

每日一句

纸上得来终觉浅,绝知此事要躬行。

每日一句

Never give up until the fight is over.
永远不要放弃,要始终战斗到最初一秒。

概念

长连贯
指在一个 TCP 连贯上能够间断发送多个数据包。
在 TCP 连贯放弃期间,如果没有数据包发送,须要单方发检测包以维持此连贯,个别须要本人做在线维持。

短连贯
指通信单方有数据交互时,就建设一个 TCP 连贯,数据发送实现后,则断开此 TCP 连贯。

HTTP 的长连贯和短连贯实质上是 TCP 长连贯和短连贯。
HTTP 属于应用层协定,在传输层应用 TCP 协定,在网络层应用 IP 协定。
IP 协定次要解决网络路由和寻址问题,TCP 协定次要解决如何在 IP 层之上牢靠的传递数据包。

从 HTTP/1.1 起,默认应用长连贯,用以放弃连贯个性。应用长连贯的 HTTP 协定,会在响应头有退出这行代码:Connection:keep-alive

连贯过程

短连贯操作步骤是:
连贯→数据传输→敞开连贯;

长连贯通常就是:
连贯→数据传输→放弃连贯(心跳)→数据传输→放弃连贯(心跳)→……→敞开连贯

应用场景

长连贯:
多用于操作频繁,点对点的通信,而且连接数不能太多状况.
如数据库连贯

短连贯
web 网站的 http 服务。长连贯更加消耗服务器资源。bulabula..

美文佳句

把握分寸,是一种难得的智慧。那些能看到他人长处的人,往往懂得把他人放在心上,时刻关照他人的感触。他们会在一言一语中放低本人的姿势,让他人感触到关怀和尊重。

人与人之间,不过一场以心换心。学会观赏他人,他人才会观赏你。对别人适时地赞美,不须要如许高超的谈话技巧,比技巧更重要的是真挚。真心实意、以诚相待,永远是人际交往中最根本的准则。

面试题

HashMap、ConcurrentHashMap 和 Hashtable 有什么区别?

HashMap ConcurrentHashMap Hashtable
线程是否平安,以及实现线程平安的形式 HashMap 不平安 线程平安,ConcurrentHashMap
JDK1.7 底层采纳分段锁,对整个桶数进行了宰割分段(segment),
每一把锁只锁容器其中一部分数据,进步并发访问率。
JDK 1.8 底层采纳 Node 数组 + 链表 + 红黑树的构造实现,
并发管制应用了 synchronized 和 CAS 操作。
线程平安,底层采纳 synchronized 来保障线程平安,
间接是办法级别的加锁,ConcurrentHashMap 尽管也是 synchronized
但它是对链表或者红黑树的头节点进行加锁,锁的粒度更小
底层工作原理 底层采纳的是 数组 + 链表 ConcurrentHashMap
JDK 1.7 底层采纳 分段的数组 + 链表实现。
JDK 1.8 采纳的是 数组 + 链表 / 红黑树
底层采纳的是 数组 + 链表
空值问题 HashMap 容许应用 null 值(key 和 value)都能够。
然而这样的键只有一个,能够有一个或多个键所对应的值为 null
HashTable 不容许 null 值(key 和 value 都不能够)
初始容量、扩容与默认负载因子 HashMap 默认初始大小 16,每次扩容 2n,默认负载因子是 0。75 HashTable 默认初始大小为 11,每次扩容 2n+1

你都晓得哪些罕用的 Map 汇合?

HashMap、HashTable、TreeMap、LinkedHashMap、ConcurrentHashMap

@RequestMapping 注解有什么用?

@RequestMapping 注解,用于将特定 HTTP 申请办法映射到将解决相应申请的控制器中的特定类 / 办法。此正文可利用于两个级别:

  • 类级别:映射申请的 URL。
  • 办法级别:映射 URL 以及 HTTP 申请办法。

你好,我是 yltrcc,日常分享技术点滴,欢送关注我:ylcoder

正文完
 0