经典五层模型详解

经典五层模型:

物理层主要作用是定义物理设备如何传输数据,机器的硬件,网卡端口,网线等。

数据链路层在通信的实体间建立数据链路连接,比如最基础的数据传输数据流,可以自己选择二进制或者ASCII码形式等。

网络层为数据在结点之间传输创建逻辑链路,比如输入百度,网络层会为我们找到百度的网址,如何寻找到的过程就是网络层要做的事。

传输层:向用户提供可靠的端到端(end-to-end)服务;传输层向高层屏蔽了下层数据通信的细节(比如一个post请求,如何分片如何发送使服务端很好接收到,这个规则由传输层实现,应用层的HTTP不用关心这些,但是适当理解对HTTP更好地使用是很有帮助的)。

应用层:为应用软件提供了很多服务,帮我们实现了HTTP协议,我们只要按照规则去使用HTTP协议;它构建于TCP协议之上;屏蔽了网络传输相关细节。

http的发展历史:

最早定义的HTTP版本是0.9,它只有一个命令GET,没有HEADER等描述数据的信息,服务器发送完毕,就关闭TCP连接。这里注意TCP连接对应多个HTTP请求,一个HTTP请求一定是在某一个TCP连接里面发送的。

然后是HTTP/1.0,增加了很多命令,增加了status code和header,增加了对多字符集支持、多部分发送、权限、缓存等。

HTTP/1.1,在HTTP/1.0基础上增加了持久连接,原来是发送一个HTTP,就建立一个TCP连接,当发送端接收到以后,就关闭这个TCP连接,这样的成本是比较高的,而现在可以持久连接,不关闭,一直在这个连接中发送,性能有了很大提高;服务端增加了pipline,发送多个HTTP请求,服务端需要处理多个HTTP请求,这里就有一个串行和并行的关系,在HTTP2中有很大改善;增加了host和其他一些命令。

HTTP2中,所有数据以二进制(最小数据单位是帧)传输,HTTP/1.1中大部分数据通过字符串的形式;同一个连接里面发送多个请求不再需要按照顺序来;头信息压缩以及推送等提高效率的功能。

http的三次握手:

正常的请求需要创建一个tcp的链接来作为http请求的通道。tcp的这个创建需要进行三次握手来建立这个链接 

三次握手的时序图: 

我们可以使用抓包工具来展示三次握手。比如wireshark等等。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值