TCP/IP分为几层?各层的作用是什么?HTTP的工作过程?

TCP/IP分为几层?各层的作用是什么?

答:1. 应用层 2.传输层 3.网络层 4.网络接口层*

应用层-------。ICP/IP协议族在这一层面有着很多协议来支持不同的应用,许多大家所熟悉的基于Internet的应用的实现就离不开这些协议。如我们进行万维网(WWW)访问用到了HTTP协议、文件传输用FTP协议、电子邮件发送用SMTP、域名的解析用DNS协议、远程登录用Telnet协议等等,都是属于TCP/IP应用层的;就用户而言,看到的是由一个个软件所构筑的大多为图形化的操作界面,而实际后台运行的便是上述协议。(FTP、SMTP、telnet、DNS、tftp)

* 传输层--------这一层的的功能主要是提供应用程序间的通信,TCP/IP协议族在这一层的协议有TCP和UDP。(UDP)


* 网络层---------是TCP/IP协议族中非常关键的一层,主要定义了IP地址格式,从而能够使得不同应用类型的数据在Internet上通畅地传输,IP协议就是一个网络层协议。(IP数据包)

* 网络接口层-------这是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。(帧,网络接口协议)

HTTP的工作过程:
1、域名解析

在浏览某个网站时,首先需要对该网站的域名进行解析(DNS),将域名解析成对应的IP地址,从中分析出协议名、主机名、端口、对象路径等部分;
2、封装HTTP请求数据包

将以上分析得出的数据信息封装成一个HTTP请求数据包;
3、封装TCP包,建立连接

这里主要是通过TCP的三次握手机制来建立连接,建立连接后才能进行正常的通信;

 

 


4、客户端发送请求

在建立连接后,客户端发送HTTP请求;
5、服务器回应

服务器在接收到客户端的请求后,会给予回应信息;


6、关闭TCP连接

在通信完成后会关闭TCP连接,但目前为了方便客户持续的浏览同一网站的内容,节省网络带宽和速度,在通信完成后仍会处于一定时间的连接状态(keep-alive);

通过HTTP的工作过程很容易发现其实在建立连接和断开连接方面是基于TCP协议的

1.一个Http请求的流程:

DNS域名解析 –> 发起TCP的三次握手 –> 建立TCP连接后发起http请求 –> 服务器响应http请求,浏览器得到html代码 –> 浏览器解析html代码,并请求html代码中的资源(如javascript、css、图片等) –> 浏览器对页面进行渲染呈现给用户

posted @ 2020-12-16 17:50  海绵-宝宝  阅读(1376)  评论(0编辑  收藏  举报