计算机网络体系结构
若是要了解HTTP、TCP、IP、UDP这几种协议,就不得不从计算机网络体系结构开始说起。
说到这里,可能有人会有疑问,什么是体系结构呢?
小编个人理解:
我们使用计算机发送消息时只看到了消息在计算机之间的发送和接收,而计算机之间又调用了不同部件的不同功能并且按照一定的规则去完成消息之间的发送和接收。
而体系结构其实就是规定了计算机之间在通信时,计算机中应该存在哪一部分,应该遵循什么样的规则去做什么事情。
OSI模型(了解即可)
为了使不同体系结构的计算机网络都能够互联,国际标准化组织于1997年成立了专门机构研究该问题,他们提出了一个试图使各种计算机在世界范围内都能连成网的标准框架,这个就是著名的OSI模型。
OSI是一个七层协议的体系结构,从上至下的结构如下图所示:
虽然OSI在理论研究方面获得了一些成就,但是OSI模型制定之后,基于TCP/IP的互联网已经抢先在全球进行大规模运行了,而与此同时又找不到其他厂家去生产出符合OSI标准的商用产品,所以OSI体系结构是法律上的国际标准,TCP/IP体系结构是事实上的国际标准。
TCP/IP体系结构(重点需关注)
TCP/IP是一个四层的体系结构,它包含:应用层、运输层、网际层和网络接口层,
TCP/IP体系结构如下(对体系结构进行学习时,一般以最右侧的五层模型为切入点):
TCP/IP结构中各层的解释以及作用:
看到这个流程,有些小伙伴们可能还不是很理解。
下面小编以生活中的例子给大家解释一下:
比如我们要寄快递:
1. 首先,我们肯定会选择一个快递点,快递点的存在就是面向用户直接提供服务,而面向用户提供服务时需要遵循一定的规则和标准,比如快递的计价方式(首重多少钱、续重多少钱),
这里我们可以把快递点想象为应用层,把快递点遵循的规则想象为HTTP/HTTPS协议。
2. 第二步,快递点会把快递通过门店的车辆运输到快递的转运中心,转运中心遵循一定的规则和标准(分拣、重新装车)把快递送到下个城市的转运中心。
这里我们把转运中心想象为运输层,把转运中心遵循的规则想象为TCP/UDP协议。
3. 第三步,快递被运输到中转城市的转运中心,中转的转运中心遵循一定的规则和标准(分拣、重新装车)把快递送到目的城市的转运中心。
这里我们把中转转运中心想象为网络层,把中转转运中心遵循的规则想象为IP协议。
4. 第四步,快递来到了目的城市的转运中心,目的城市转运中心遵循一定的规则和标准(分拣、重新装车)把快递送到快递点。
这里我们把目的城市的转运中心想象为数据链路层,把目的城市的转运中心遵循的规则想象为数据链路层的按帧传输。
5. 第五步,目的地城市转运中心接收快递,遵循一定的规则和标准把快递分发给目的城市的快递点。
这里我们把目的城市的快递点想象为物理层,把目的城市的转运中心遵循的规则想象为物理层的按比特传输。
看到这里,大家是否已经理解了呢。
实际上在计算机通信时,完整的流程如下:
看到这里,可能会有小伙伴产生疑问,计算机之间通信时,这几个层在干什么事情呢?
请看下图:
HTTP协议
HTTP协议是什么
看到了以上描述的网络分层,大家肯定也知道了,HTTP和HTTPS协议是应用层中遵循的协议,那么什么是HTTP协议呢?
大白话说就是,HTTP协议是封装了TCP协议的一种在浏览器中遵循的协议,我们通过浏览器请求一个网站,先是通过浏览器请求DNS服务器获取到一个域名对应的IP,再由客户机利用HTTP协议请求IP去获取服务器上的资源(HTML、JS、CSS、JPG),进行展示。
HTTP协议详解:
HTTP协议常见的请求头:
利用浏览器开发者工具补货到的HTTP协议的头部:
HTTP协议的状态码:
TCP协议
TCP协议是什么
TCP协议是基于连接的可靠的无重复的传输协议,用于运输层传输。
TCP协议详解
TCP协议头部信息如下:
TCP协议的三次握手
为什么是三次握手,不是两次握手?
TCP的四次挥手
为什么四次挥手后也不关闭连接呢?
UDP协议
UDP的头部
UDP的应用:
TCP和UDP的区别