本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问
关于HTTP和HTTPS可以看下这个视频
https://www.bilibili.com/video/BV1rt4y1m7o5
定义:
HTTP协议,即 超文本传输协议(Hypertext transfer protocol) 。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
现在使用的HTTP主要优点是多路复用(同一时间发送请求做到同一时间响应)
HTTP是无状态、无连接的
缺点:不加密、不安全
https更为安全,采用加密技术、证书认证身份
在https实现过程中,第三方攻击者无法伪造出和服务端一模一样的证书,增加了安全性
TCP三次握手
-
第一次:客户端发送请求到服务器,服务器知道客户端发送,自己接收正常。SYN=1,seq=x
-
第二次:服务器发给客户端,客户端知道自己发送、接收正常,服务器接收、发送正常。ACK=1,ack=x+1,SYN=1,seq=y
-
第三次:客户端发给服务器:服务器知道客户端发送,接收正常,自己接收,发送也正常.seq=x+1,ACK=1,ack=y+1
(A)URG:紧急指针(urgent pointer)有效。 (B)ACK:确认序号有效。 (C)PSH:接收方应该尽快将这个报文交给应用层。 (D)RST:重置连接。 (E)SYN:发起一个新连接。 (F)FIN:释放一个连接
上面分析过程可以看出,握手两次达不到让双方都得出自己、对方的接收、发送能力都正常的结论的。
TCP四次挥手
四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。
四次挥手过程分析
第一次:客户端请求断开FIN,seq=u
第二次:服务器确认客户端的断开请求ACK,ack=u+1,seq=v
第三次:服务器请求断开FIN,seq=w,ACK,ack=u+1
第四次:客户端确认服务器的断开ACK,ack=w+1,seq=u+1
参考:https://www.cnblogs.com/jainszhang/p/10641728.html
https://blog.csdn.net/qq_38950316/article/details/81087809