什么是HTTP
HTTP,FTP,邮件协议都是应用层协议
HTTP的广义理解:(超文本传输协议)可以理解成通过http协议解析字节码,因为数据在客户端传输,是通过字节码传输的,所以可以理解为HTTP用来解析字节码。HTTP协议是在TCP协议基础之上的,也可以说成HTTP依赖于tcp协议。
什么是TCP、IP
通俗一点:ip比作手机号码,别人连接就要先拨通ip,tcp实现了ip之间的连接
任何协议都是一种标准
应用层
http和html标准,意义在于呈现用户有意义的内容
传输层
传输层主要有TCP,UDP ,TCP保证了正确的送达,一旦出现了错误会有一些列的处理机制。
UDP不能保证数据正确送达,比如客户端收到数据后,不会确认客户端是否收到数据,减少了开销,(减少了我握手的次数)性能高。
三次握手
客户端发送请求,服务器接受请求,客户端发送消息确认本次连接成功。
网络层
ip协议,客户端和服务器传输的时候会有很多节点,ip选择一条最优的路径。每次由一个节点传输到另一个节点
链路层
应用层,传输层,网络层,都是虚拟的只有链路层是真实存在的,包括光纤,网卡等设备
拆包和封包(简单理解)
应用层在数据包前面加上tcp包头,发送给网络层,网络层在tcp包头上面加上ip包头,
发给链路层,
链路层加上链路层包头以后服务器接受完整的数据包。
拆包:在网络层去掉链路层包头,传输层去网络层ip包头,在应用层去tcp包头
最终解析http应用层数据。