文章目录
一、用户在浏览器中输入网址背后发生的事
二、什么是HTTP
超文本传输协议HTTP是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。
HTTP是一个属于应用层的面向对象的协议。
三、HTTP和TCP/IP的关系
HTTP协议是构建在TCP/IP协议这上的,是TCP/IP协议的一个子集。
TCP/IP协议族分层
TCP/IP协议族是由一个四层协议组成的系统,这四层分别为:应用层、传输层、网络层和数据链路层。
应用层
应用层一般是我们编写的应用程序,决定了向用户提供的应用服务。应用层可以通过系统调用与传输层进行通信。如:FTP、DNS、HTTP等。
传输层
传输层通过系统调用向应用层提供处理网络连接中的两台计算机之间的数据传输功能
在传输层有两个性质不同的协议TCP和UDP。
网络层
网络层用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(传输路线)到达对方计算机,并把数据包传输给对方。
链路层
链路层用来处理连接网络的硬件部分,包括控制操作系统、硬件设备驱动、NIC(Network Interface Card,网络适配器)以及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围之内。
上层数据是怎么转变为下层数据的?
通过层层的数据包封装
HTTP数据传输过程
发送端发送数据时,数据会从上层传输到下层,且每经过一层都会被打上该层的头部信息。而接收端接收数据时,数据会从下层传输到上层,传输前会把下层的头部信息删除
TCP/IP协议数据流示意图