- TCP三次握手四次挥手
TCP三次握手和四次挥手通俗理解
- 第一次:客户端发送请求到服务器,服务器知道客户端发送,自己接收正常。SYN=1,seq=x
- 第二次:服务器发给客户端,客户端知道自己发送、接收正常,服务器接收、发送正常。ACK=1,ack=x+1,SYN=1,seq=y
- 第三次:客户端发给服务器:服务器知道客户端发送,接收正常,自己接收,发送也正常.seq=x+1,ACK=1,ack=y+1
为什么两次握手不行?
- 为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤
- 如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认
四次挥手
- 第一次:客户端请求断开FIN,seq=u
- 第二次:服务器确认客户端的断开请求ACK,ack=u+1,seq=v
- 第三次:服务器请求断开FIN,seq=w,ACK,ack=u+1
- 第四次:客户端确认服务器的断开ACK,ack=w+1,seq=u+1
- 在浏览器中输入URL地址,显示主页的过程
- DNS解析
浏览器查询 DNS,获取域名对应的 IP 地址;
向本地 DNS 服务器进行查询,如果要查询的域名不由本地 DNS 服务器区域解析,那么将根据其设置发起递归查询或者迭代查询
- TCP连接
浏览器获得域名对应的 IP 地址以后,浏览器向服务器请求建立链接,发起三次握手
- 发送HTTP请求
TCP 连接建立起来后,浏览器向服务器发送 HTTP 请求
- 服务器处理请求并返回HTTP报文
- 浏览器解析渲染页面
- 连接结束 - HTTP 和HTTPS 的区别
HTTP的URL是由http://起始且默认使用80端口;
HTTPS的URL是由https://起始且默认使用443端口。 - TCP和UDP 的区别
TCP:面向连接的可靠的传输 适用于文件传输
UDP:面向无连接的不可靠的传输 适用于qq语音