从输入URL到展现页面的全过程:
- 用户在浏览器中输入URL。
- 浏览器解析URL,确定协议、主机名和路径。
- 浏览器查找本地DNS缓存,如果没有找到,向DNS服务器发起查询请求。
- DNS服务器解析主机名,返回IP地址。
- 浏览器使用IP地址建立TCP连接(经过三次握手)。
- 浏览器发送HTTP请求到服务器。
- 服务器处理请求,并返回HTTP响应。
- 浏览器接收响应内容,可能是HTML、CSS、JavaScript等。
- 浏览器解析HTML,构建DOM树,执行JavaScript,渲染页面。
- 页面加载完成,显示给用户。
TCP三次握手以及四次挥手的流程:
-
三次握手:
- 客户端发送SYN包(请求建立连接)到服务器。
- 服务器收到SYN包后,发送SYN-ACK包(确认连接请求)。
- 客户端收到SYN-ACK包后,发送ACK包(确认连接建立)。
-
四次挥手:
- 客户端发送FIN包(请求关闭连接)。
- 服务器收到FIN包后,发送ACK包,并准备关闭。
- 服务器发送FIN包(请求关闭另一端连接)。
- 客户端收到FIN包后,发送ACK包(确认关闭)。
为什么需要三次握手以及四次挥手:
- 三次握手确保双方都能发送和接收数据,建立可靠的连接。
- 四次挥手允许双方独立关闭连接,确保所有数据都被接收。
TCP与UDP在网络协议中的哪一层,他们之间有什么区别?:
- TCP和UDP都是传输层协议。
- TCP是面向连接的、可靠的协议,提供数据传输的确认和重传机制。
- UDP是无连接的、不可靠的协议,没有确认或重传机制,但传输速度快。
HTTP与HTTPS有哪些区别?:
- HTTPS在HTTP的基础上增加了SSL/TLS协议,提供了数据加密、完整性校验和身份验证。
- HTTPS比HTTP更安全,可以防止数据在传输过程中被窃听或篡改。
简述DDOS攻击原理,如何防范它?:
- DDOS(分布式拒绝服务)攻击原理是通过大量请求占用目标服务器的资源,使其无法响应正常用户的请求。
- 防范方法包括使用防火墙过滤恶意流量、使用CDN分散流量、限制单个IP的请求频率等。
简述HTTP1.0,1.1,2.0的主要区别:
- HTTP/1.0不支持持久连接,每个请求/响应都需要建立和关闭一个TCP连接。
- HTTP/1.1支持持久连接,可以复用TCP连接,减少了连接建立和关闭的开销。
- HTTP/2.0进一步优化了性能,支持头部压缩、多路复用等技术,减少了延迟。
简述TCP的TIME_WAIT和CLOSE_WAIT:
- TIME_WAIT:主动关闭连接的一方在发送完最后一个ACK包后,进入TIME_WAIT状态,等待足够的时间确保被动关闭方接收到最终的确认,防止旧的连接请求干扰新的连接。
- CLOSE_WAIT:当一方接收到对方的FIN包并发送ACK包后,进入CLOSE_WAIT状态,等待本地应用程序关闭连接。如果应用程序不及时关闭,会导致资源占用。
TCP的TIME_WAIT和CLOSE_WAIT:
- TIME_WAIT:TCP连接的主动关闭端在发送完最后一个确认(ACK)包后,会进入TIME_WAIT状态,保持该状态一定时间,以确保被动关闭端能够收到连接关闭的确认。这可以防止旧的连接请求干扰新的连接。
- CLOSE_WAIT:当TCP连接的接收端收到关闭连接的请求(FIN包),它会发送一个确认(ACK),然后进入CLOSE_WAIT状态,等待本地应用层关闭连接。如果应用层没有及时关闭连接,CLOSE_WAIT状态会持续存在,可能导致资源占用。
TCP中常见的拥塞控制算法:
- 慢启动(Slow Start):开始时以较低的速率发送数据,逐渐增加发送窗口大小,直到达到拥塞发生。
- 拥塞避免(Congestion Avoidance):在检测到拥塞迹象后,缓慢增加窗口大小,避免拥塞。
- 快重传(Fast Retransmit):当连续收到三个相同的ACK时,立即重传丢失的数据包,而不是等待超时。
- 快恢复(Fast Recovery):在重传丢失的数据包后,适当调整拥塞窗口,避免发送速率急剧下降。
BGP协议和OSPF协议的区别:
- BGP (边界网关协议):是一种用于互联网上进行网络之间的路由和可达性信息传递的协议,主要用于互联网的自治系统(AS)之间的路由。
- OSPF (开放最短路径优先):是一种内部网关协议,用于在单一自治系统内部进行路由信息的传递和计算最短路径。
TCP的keepalive了解吗?以及它和HTTP的keepalive的区别:
- TCP keepalive:是一种心跳机制,用于检测死连接。在一定时间内没有数据传输时,TCP会发送探测包以检查连接是否仍然有效。
- HTTP keepalive:也称为持久连接,允许多个HTTP请求和响应复用同一个TCP连接,减少了连接建立和关闭的开销。
OSI七层模型,TCP,IP属于哪一层:
- OSI七层模型包括:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
- TCP (传输控制协议):属于传输层,负责在网络中提供可靠的数据传输服务。
- IP (网际协议):属于网络层,负责在网络中路由数据包。
traceroute有什么作用?:
- traceroute是一个网络诊断工具,用于显示数据包从源到目的地的路径,以及每个跳点的延迟时间。它帮助网络管理员诊断网络问题和了解数据包的路由情况。
DNS查询服务器的基本流程是什么?DNS劫持是什么?:
-
DNS查询流程:
- 客户端向本地DNS服务器发起查询请求。
- 本地DNS服务器查询其缓存,如果未找到,则向根DNS服务器查询。
- 根DNS服务器响应并指引到*域DNS服务器。
- *域DNS服务器提供负责特定域的权威DNS服务器地址。
- 本地DNS服务器从权威DNS服务器获取最终的IP地址并返回给客户端。
- DNS劫持:是一种网络攻击手段,攻击者通过篡改DNS服务器的记录,将域名解析到错误的IP地址,导致用户访问错误的网站。