每日十题八股-2025年1月10日

1.HTTP长连接与WebSocket有什么区别?

2.Nginx有哪些负载均衡算法?

3.Nginx位于七层网络结构中的哪一层?

4.说一下tcp的头部

5.TCP三次握手过程说一下?

6.tcp为什么需要三次握手建立连接?

7.TCP 三次握手,客户端第三次发送的确认包丢失了发生什么?

8.服务端发送第二个报文后连接的状态进入什么状态?

9.三次握手和 accept 是什么关系? accept 做了哪些事情?

10.客户端发送的第一个 SYN 报文,服务器没有收到怎么办?

1.HTTP长连接与WebSocket有什么区别?

在网络的领域内,单工、半双工、全双工是经常会遇见的名称,下面简单的讲述一下他们的区别。

单工:简单的说就是一方只能发信息,另一方则只能收信息,通信是单向的。

半双工:比单工先进一点,就是双方都能发信息,但同一时间则只能一方发信息。

全双工:比半双工再先进一点,就是双方不仅都能发信息,而且能够同时发送。

2.Nginx有哪些负载均衡算法?

轮询,加权轮询,IP哈希,URL哈希,最短响应时间。

3.Nginx位于七层网络结构中的哪一层?

Nginx 主要操作和处理 HTTP 请求、响应等应用层数据,因此它位于 第七层(应用层) 网络结构中。

Nginx 在作为反向代理服务器或负载均衡器时,处理的是 HTTP(或其他协议,如 HTTPS、SMTP、POP3)请求,这些都属于应用层的协议。它根据请求内容进行路由和处理,决定如何将请求转发到后端服务器。

4.说一下tcp的头部?

目的端口号和源端口号各16位序列号和确认应答号各32位 。4位首部,保留6位,6个1位的控制位 ,16位窗口,16位校验和 ,16位紧急指针。

5.TCP三次握手过程说一下?

TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手来进行的。首先双方要在一个开启的状态的状态。客户端发送SYN报文。客户端在收到服务端的SYN+ACK报文后就处于established状态,服务端还要等ACK报文才能处于established。第三次握手是可以携带数据的,前两次握手是不可以携带数据的,这也是面试常问的题。



状态变化

6.tcp为什么需要三次握手建立连接?

简单来说,三次握手的首要原因是为了防止旧的重复连接初始化造成混乱。 如果仅用两次握手,可能会导致旧的连接请求被误认为是新的连接请求。通过第三次握手,双方确认双方都知道对方的初始序列号,避免了这种情况。

7.TCP 三次握手,客户端第三次发送的确认包丢失了发生什么?

如果超过最大重传次数,服务器端就直接终止这次连接。

8.服务端发送第二个报文后连接的状态进入什么状态?

SYN_RCVD。

9.三次握手和 accept 是什么关系? accept 做了哪些事情?

又是突然出现完全不知道的知识点accept是啥啊。

三次握手和 accept() 函数密切相关,accept() 是在服务器端用于接受并建立连接的系统调用。

10.客户端发送的第一个 SYN 报文,服务器没有收到怎么办?

客户端超时重传。超时时间每次翻倍,重传次数默认5次。

相关推荐
Java面试题总结4 小时前
java高频面试题(2026最新)
java·开发语言·jvm·数据库·spring·缓存
苦逼的猿宝4 小时前
学生心理咨询评估系统
java·毕业设计·springboot·计算机毕业设计
隔窗听雨眠4 小时前
doctype、charset、meta如何控制整个渲染流水线
java·服务器·前端
西安邮电大学6 小时前
SpringBean完整生命周期
java·spring
刀法如飞6 小时前
DDD 与 Ontology 对比分析:哪一种更适合AI时代复杂系统构建?
java·架构·领域驱动设计
SunnyDays10116 小时前
Java 读写 Excel 公式:从基础到高级的实战总结
java·开发语言·excel
wb043072016 小时前
Java 26
java·开发语言
白露与泡影6 小时前
JVM GC调优实战:从线上频繁Full GC到RT降低80%的全过程
java·开发语言·jvm
范什么特西6 小时前
Spring 动态代理 静态代理
java·后端·spring
醇氧6 小时前
Spring 动态注册 Bean 深度解析:从源码到实践
java·后端·spring