网站建设 企泰科技,烟台企业网站建设,个人简历网站模板下载,简洁文章网站模板下载短连接和长连接
短连接#xff1a;
http协议底层基于socket的tcp协议#xff0c;每次通信都会新建一个TCP连接#xff0c;即每次请求和响应过程都经历”三次握手-四次挥手“优点#xff1a;方便管理缺点#xff1a;频繁的建立和销毁连接占用资源
长连接#xff1a; 客…短连接和长连接
短连接
http协议底层基于socket的tcp协议每次通信都会新建一个TCP连接即每次请求和响应过程都经历”三次握手-四次挥手“优点方便管理缺点频繁的建立和销毁连接占用资源
长连接 客户端和服务端之间只有一条TCP通信连接以后所有的请求都使用这条连接也称为持久连接。 优点多次请求-响应基于一条连接避免资源浪费。 缺点客户端的数量增加服务端承受的压力增大。对每个请求仍然要单独发headerKeep-Alive不会永久保持连接它有一个保持时间可以在不同的服务器软件如Apache中设定这个时间。
总结
长短连接指的是客户端和服务端建立和保持TCP连接的机制。不论是短连接还是长连接都是客户端主动向服务端发请求才能获悉数据服务端是无法主动给客户端推送信息的。服务端主动给客户端推送消息最简单的方式是采用轮询即客户端每隔一段时间就向服务端发出一个询问获取服务端最新的消息。最典型的应用就是聊天室。
短轮询和长轮询
短轮询
浏览器每隔一段时间向服务端发送http请求服务器端在收到请求后不论是否有数据更新都直接进行响应。这种方式实现的即时通信本质上还是浏览器发送请求服务器接受请求的一个过程通过让客户端不断的进行请求使得客户端能够模拟实时地收到服务器端的数据的变化。优点比较简单易于理解缺点由于需要不断的建立 http 连接严重浪费了服务器端和客户端的资源。当用户增加时服务器端的压力就会变大这是很不合理的。
长轮询 首先由客户端向服务器发起请求当服务器收到客户端发来的请求后服务器端不会直接进行响应而是先将 这个请求挂起然后判断服务器端数据是否有更新。 如果有更新则进行响应如果一直没有数据则到达一定的时间限制才返回。客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后再次发出请求重新建立连接。 优点「明显减少了很多不必要的 http 请求次数」相比之下节约了资源。 缺点实现复杂且连接挂起也会导致资源的浪费。
总结
短轮询和长轮询指的是客户端请求服务端服务端给予响应的方式。轮询的方式可以解决服务端主动向客户端推送消息的需求但是轮询的效率低非常浪费资源因为必须不停连接或者 HTTP 连接始终打开。为了更好的解决这个问题于是出现了WebSocket
WebSocket
简介 WebSocket 协议在2008年诞生2011年成为国际标准。所有浏览器都已经支持了。 服务器可以主动向客户端推送信息客户端也可以主动向服务器发送信息是真正的双向平等对话属于服务器推送技术的一种。 可以发送文本也可以发送二进制数据。 协议标识符是ws如果加密则为wss服务器网址就是 URL。
websocketwebsocket是长连接是一个真的全双工第一次tcp链路建立以后后续所有数据双方都主动发送不需要发送请求头与传统的 http 协议不同该协议允许由服务器主动的向客户端推送信息。与HTTP长连接不同websocket可以更灵活的控制连接关闭的时机而不是HTTP协议的Keep-Alive一到服务端立马就关闭这样很不人性化。
优点
建立在 TCP 协议之上服务器端的实现比较容易。与 HTTP 协议有着良好的兼容性。默认端口也是80和443并且握手阶段采用 HTTP 协议因此握手时不容易屏蔽能通过各种 HTTP 代理服务器。数据格式比较轻量性能开销小通信高效。没有同源限制客户端可以与任意服务器通信。
缺点
使用 WebSocket 协议的缺点是在服务器端的配置比较复杂。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你