TCP/MQTT/HTTP/HTTPS
文章平均质量分 55
TCP/MQTT/HTTP/HTTPS
BasicLab基础架构实验室
本人深耕基础架构领域,曾在国内500强大厂研发企业级百亿量级吞吐中间件,擅长Java语言、Go语言、Python语言、C语言、NodeJS、Web、Linux、深度学习、大数据、云原生等
展开
-
HTTPS TLS/SSL握手过程
一、握手与密钥协商过程基于RSA握手和密钥交换的客户端验证服务器为示例详解TLS/SSL握手过程。1、client_hello客户端发起请求,以明文传输请求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息,相关信息如下:支持的最高TSL协议版本version,从低到高依次 SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2,当前基本不再使用低于 TLSv1 的版本;客户端支持的加密套件 cipher suites 列表, 每个加密套.原创 2020-08-18 19:52:58 · 520 阅读 · 4 评论 -
HTTPS TLS/SSL双向认证和单向认证的区别
双向认证 SSL 协议要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有CA证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的(这并不影响 SSL 过程的安全性)密码方案。这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长.原创 2020-08-18 19:24:10 · 2271 阅读 · 0 评论 -
Http 和 Rpc 的区别是什么?各自的优缺点有哪些?
rpc和http的区别是什么rpc和http的存在重大不同的是:http请求是使用具有标准语义的通用的接口定向到资源的,这些语义能够被中间组件和提供服务的来源机器进行解释。结果是使得一个应用支持分层的转换(layers of transformation)和间接层(indirection),并且独立于消息的来源,这对于一个Internet规模、多个组织、无法控制的可伸缩性的信息系统来说,是非常有用的。与之相比较,rpc的机制是根据语言的API(language API)来定义的,而不是根据基于网络的应用转载 2021-08-26 10:01:06 · 1150 阅读 · 0 评论 -
OSI七层模型的TCP/IP模型都有哪几层和他们的对应关系?
1.OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层对于上一层来讲是透明的,上层只需要使用下层提供的接口,并不关心下层是如何实现的。2.TCP/IP参考模型是首先由ARPANET所使用的网络体系结构。这个体系结构在它的两个主要协议出现以后被称为TCP/IP参考模型(TCP/IP Reference Model)。这一网络协议共分为四层:网络访问层、互联网层、传输层和应用层。3.TCP/IP模型的分层及与OSI参考模型的对应关系为:网络接转载 2021-08-25 09:51:39 · 20872 阅读 · 0 评论 -
close_wait 状态的产生原因及解决
最近测试环境server由于需要与大量的后台server交互,今天突然发现有大量的close_wait产生,于是仔细研究了一下:如果我们的服务器程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!因为如果是CLIENT端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:1.Client -> FIN -> Server2.Client <- ACK <- Server 这时候Client端处于FIN_WAIT_2状态;而Server...转载 2021-08-25 09:46:52 · 6849 阅读 · 0 评论 -
HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
一、HTTP的历史早在 HTTP 建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。也是说对于前端来说,我们所写的HTML页面将要放在我们的 web 服务器上,用户端通过浏览器访问url地址来获取网页的显示内容,但是到了 WEB2.0 以来,我们的页面变得复杂,不仅仅单纯的是一些简单的文字和图片,同时我们的 HTML 页面有了 CSS,Javascript,来丰富我们的页面展示,当 ajax 的出现,我们又多了一种向服务器端获取数据的方法,这些其实都是基于 HTT转载 2021-08-25 09:44:13 · 810 阅读 · 0 评论 -
MQTT介绍及与其他协议的比较
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)一种针对移动终端设备的基于TCP/IP的发布/订阅协议,可以连接大量的远程传感器和控制设备。MQTT的特点是可以保持长连接,具有一定的实时性,要保持长连接,那么就要不时地发送心跳包,这就不会省电。特点:使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合有三种消息发布服务质量(QoS):“至多一次”,消息发布完全依赖底层 TCP/IP 网络,会发生消息丢失或重复,这一级别可原创 2021-05-22 10:12:52 · 2436 阅读 · 0 评论 -
Websocket和TCP的区别
按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP是应用层的协议。在这三者之间,SPDY和WebSocket都是与HTTP相关的协议,而TCP是HTTP底层的协议。WebSocket则提供使用一个TCP连接进行双向通讯的机制,包括网络协议和API,以取代网页和服务器采用HTTP轮询进行双向通讯的机制。本质上来说,WebSocket是不限于HTTP协议的,但是由于现存大量的HTTP基础设施,代理,过滤,身份认证等等,WebSocket借用HTTP和HTTPS的端口。由于使用H原创 2021-05-22 10:05:55 · 12975 阅读 · 0 评论 -
TCP/IP协议与HTTP协议区别
TCPTCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可原创 2021-05-22 09:53:50 · 946 阅读 · 0 评论 -
浅谈socket长连接和短连接的区别
能用一句大白话说清楚的事,绝不用专业词汇说两句。先看看一般的socket通讯模型是怎么样的: 建立连接①客户端---------------------服务器端 通讯②客户端---------------------服务器端 断开③ 客户端-------------...原创 2018-07-14 18:49:49 · 6124 阅读 · 0 评论 -
TCP的三次握手和四次挥手
一.TCP三次握手建立连接过程TCP是面向连接的协议,无论哪一方发送数据,都必须建立一条连接.先来看6种TCP的位码(即tcp标志位):1.SYN:建立联机;2.ACK:确认;3.PSH:传送;4.FIN:结束;5.RST:重置;6.URG:紧急;seq(Sequeuece number):顺序号码,发送方发出为了确认接受方回应ack=seq+1;ack(Acknowledge number):确...转载 2018-07-14 18:30:39 · 245 阅读 · 0 评论