计算机网络 4.传输方式、DNS、长短连接
2021/12/14 6:19:46
本文主要是介绍计算机网络 4.传输方式、DNS、长短连接,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
网络传输方式
传输方式
网络通信中根据数据发送方式进行了多种分类,分类方法主要有两种:
- 面向无连接
- 面向有连接
数据发送的方法主要是 TCP 和 UDP
面向无连接
面向无连接型不需要建立和断开连接,发送端可于任何时候自由发送数据,不需要确认接收端是否存在,即使接收端不存在或无法接收数据,发送端也能将数据发送出去,接收端也不知道自己会在何时从哪里接收到数据,因此,面向无连接的情况下,接收端需要时常确认是否收到了数据
面向有连接
面向有链接型在发送数据之前,需要在收发主机之间建立一条连接通信线路,只有对方确认连接才能进行真正的通信,通信结束后需要断开连接,因此必须在通信传输前后专门进行建立和断开连接的处理
DNS服务器
DNS(domain name system)域名解析系统,是一台运行在互联网上的服务器,用来将域名转成对应的IP地址
浏览器请求流程
计算机之间互访,只能识别IP地址的访问,不能识别域名的访问,所以需要通过DNS服务器用域名查询对应的IP地址
客户端访问域名 --> 请求本地DNS --> 请求DNS服务器 --> 获取目标IP地址 --> 建立连接 --> 服务器返回HTML --> 渲染
本地DNS
本地DNS是一个文件hosts,内容为IP地址和域名的对应关系表
hosts文件路径:
Windows:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
长连接和短连接
HTTP1.0中默认使用短连接,也就是浏览器和服务器每进行一次HTTP操作,就建立一次连接,任务结束就断开连接,如果浏览器访问的某个Web页中包含其他的Web资源,如JS文件、CSS文件、图片文件等,浏览器每遇到这样一个Web资源就会建立一次HTTP会话
从HTTP1.0开始默认使用长连接,以保持连接特性,使用长连接的HTTP协议会在响应头加入以下协议项:
connection:keep-alive
在真正的读写操作之前,server与client之间必须建立一个连接,读写操作完成后,双方不再需要这个连接时可以释放连接,连接的建立通过三次握手,断开则需要四次挥手
每个连接的建立都是需要消耗资源和时间的
TCP短连接
- client向server发起连接请求
- server接到请求,双方建立连接
- client向server发送数据
- server回应client
- 一次读写完成,此时任意一方都可以发起close
短连接一般只会在client/server间传递一次读写操作
TCP长连接
- client向server发起连接请求
- server接到请求,双方建立连接
- client向server发送数据
- server回应client
- 一次读写完成,连接不关闭,等待下一次读写操作
- 长时间操作之后client发起close
长连接和短连接的优缺点
- 长连接可以省去较多TCP建立和关闭的操作,节约时间
- 如果用户量太大,容易造成服务器负载过高最终导致服务不可用
- 短连接对于服务器来说实现较为简单,存在的连接都是有用的连接,不需要额外的控制手段
- 如果用户量太大,可能在很短的时间内需要创建大量连接,容易造成服务器响应速度过慢
运用场景:
- 短连接:
- 小型Web网站的HTTP服务一般使用短连接,因为长连接会消耗服务器一定资源来保持socket存活(keep-alive)
- 长连接:
- 中大型Web网站一般使用长连接,优点是响应用户请求的速度更快,用户体验更好
- 数据库的连接使用长连接,如果使用短连接,频繁的通信可能会造成socket错误
这篇关于计算机网络 4.传输方式、DNS、长短连接的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27数据结构与算法面试题详解及练习
- 2024-12-27网络请求面试题详解与实战
- 2024-12-27数据结构和算法面试真题详解与实战教程
- 2024-12-27网络请求面试真题解析与实战教程
- 2024-12-27数据结构和算法大厂面试真题详解与实战指南
- 2024-12-27TS大厂面试真题解析与应对策略
- 2024-12-27TS大厂面试真题详解与解析
- 2024-12-27网站安全入门:如何识别和修复漏洞
- 2024-12-27SQL注入基础教程
- 2024-12-27初学者指南:理解和修复跨域漏洞