网络通信中根据数据发送方式进行了多种分类,分类方法主要有两种:
数据发送的方法主要是 TCP 和 UDP
面向无连接型不需要建立和断开连接,发送端可于任何时候自由发送数据,不需要确认接收端是否存在,即使接收端不存在或无法接收数据,发送端也能将数据发送出去,接收端也不知道自己会在何时从哪里接收到数据,因此,面向无连接的情况下,接收端需要时常确认是否收到了数据
面向有链接型在发送数据之前,需要在收发主机之间建立一条连接通信线路,只有对方确认连接才能进行真正的通信,通信结束后需要断开连接,因此必须在通信传输前后专门进行建立和断开连接的处理
DNS(domain name system)域名解析系统,是一台运行在互联网上的服务器,用来将域名转成对应的IP地址
计算机之间互访,只能识别IP地址的访问,不能识别域名的访问,所以需要通过DNS服务器用域名查询对应的IP地址
客户端访问域名 --> 请求本地DNS --> 请求DNS服务器 --> 获取目标IP地址 --> 建立连接 --> 服务器返回HTML --> 渲染
本地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之间必须建立一个连接,读写操作完成后,双方不再需要这个连接时可以释放连接,连接的建立通过三次握手,断开则需要四次挥手
每个连接的建立都是需要消耗资源和时间的
短连接一般只会在client/server间传递一次读写操作