网络有几层?
刚开始OSI国际网络组织提出了七层网络参考模型:
-
物理层主要通过介质传输比特流,主要包含一些物理设备,主要包含,中继器,集线器,双绞线等。
-
数据链路层将物理层的比特转换成字节,封装成帧传输给上一层。主要设备有交换机和网桥。
-
网络层为数据包选择路由,主要设备有路由器。IP协议和路由协议
-
传输层提供端对端的接口。tcp,udp
-
会话层建立维持和终止通信。
-
表示层提供数据的加密.压缩.解压缩.解密等操作。
-
应用层,为用户提供各种网络通信服务。主要设备有网关。
建立tcp连接需要三次握手,断开连接需要4次。
三次握手:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。
什么时候应该使用TCP和UDP?
当对网络通讯质量有要求的时候使用TCP,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS等传输文件的协议。 在日常生活中,常见使用TCP协议的应用如下: 浏览器, QQ文件传输 。
当对网络通讯质量要求不高的时候使用UDP,要求网络通讯速度能尽量的快,这时就可以使用UDP。 比如,日常生活中,常见使用UDP协议的应用如下: QQ语音 QQ视频 (实时传递)
有些应用场景对可靠性要求不高会用到UPD,比如
长视频,要求速率。
讲一讲访问WWW.BAIDU.COM的过程
1、输入网址
2、DNS解析
3、建立tcp连接
4、客户端发送HTTP请求
5、服务器处理请求
6、服务器响应请求
7、浏览器收到数据后,通过浏览器的渲染结果来显示网页
8、浏览器关闭TCP,即四次挥手离别。
在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?
查询DNS,获取域名对应的IP。
客户机发送HTTP请求报文:
应用层:客户端发送HTTP请求报文
传输层:切分长数据,并确保可靠性。
网络层:进行路由
数据链路层:传输数据
物理层:物理传输bit
服务器端经过物理层→数据链路层→网络层→传输层→应用层,解析请求报文,发送HTTP响应报文。
客户端解析HTTP响应报文
浏览器开始显示HTML
浏览器重新发送请求获取图片、CSS、JS的数据。
如果有AJAX,浏览器发送AJAX请求,及时更新页面。
get 和 post 请求有哪些区别?
GET和POST是HTTP请求的两种基本方法
(1)get 请求会被浏览器主动缓存,而 post 不会。(2)get 传递参数有大小限制,而 post 没有。(3)post 参数传输更安全,get 的参数会明文显示在 url 上,post 不会。