【计算机网络】TCP如何实现可靠传输,三次握手与四次挥手(含部分http协议协议内容)

198 阅读2分钟

概念

    html 超文本标记语言
    http协议 : 超文本传输协议。  规定前后通讯方式,也就html文本或数据如何在网络传输.
    http基于请求响应模式的,无状态无连接应用层协议
    什么是无状态无连接:
    无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
    无状态:无状态是指协议对于事务处理没有记忆能力。
            缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量 增大。另一方面,在服务器不需要先前信息时它的应答就较快。

特点

特点:

       - 客户端/服务端模式

       - 速度快

       - 灵活 传输数据类型任意

       - 无连接  

       - 无状态

url地址

统一资源定位符

        格式: http://ip:port/path/resoure
        
        ip: 网络中唯一标识一台电脑

        port: 端口号  同一台电脑中区分不同应用程序     

        path: 路径

        res: 资源   

        域名: http://www.baidu.com:80

        默认端口 80, 可以不写

        DNS服务器 域名解析服务器

          www.baidu.com  -  10.78.139.23

          www.qianfeng.com  -  29.178.139.23

三次握手

前提

ip地址:端口号=套接字

msedge_dvn7OlBMfP.png

具体实现

1客户端发送同步请求给服务端(发送序号)
2服务端收到客户端的序号后将其加一作为确认号连同自己的序号发送确认同步请求给客户端
3客户端收到确认同步请求后先将确认号减一进行确认,再将服务端的序号加一作为确认号发送确认请求
4经过以上三次发送,完成三次握手
5握手之后,建立http连接,可以发送数据

msedge_Ra21wABxKp.png

四次挥手

图示

假设所有数据已经传输完成
双方都可发起请求
发送http请求和响应的时候序号和确认号会不断递增,故此处不使用固定序号与确认号
1客户端向服务端发送结束确认请求
2服务端收到请求后将对方的确认号作为序号对方的序号加一作为确认号发送确认请求,等待所有数据传输完成
3服务端发送单向结束确认请求(序号和确认号同2)
4客户端将对方的确认号作为序号,序号加一作为确认号发送确认请求,完成四次挥手
为什么要加一,让对方通过减一进行确认

msedge_yUOx0UqfJr.png