当前位置: 首页 > article >正文

[特殊字符] 《网络知识和Servlet重点知识整理》

一、网络作用基础认知核心作用实现不同设备之间的数据传输与通信支撑互联网应用网页、APP、游戏、视频等。信息传递客户端 ↔ 服务器资源共享文件、数据库、计算资源分布式协作微服务、云计算、分布式系统二、协议和标准面试核心板块1. URL统一资源定位符格式协议://域名:端口/路径?查询参数#锚点示例https://www.example.com:8080/api/user?id123#profile作用标识网络中资源的唯一位置2. HTTP协议超文本传输协议✅ 请求/响应格式请求格式请求行方法 URL 协议版本 请求头Host, Cookie, User-Agent等 空行 请求体POST数据响应格式状态行协议版本 状态码 状态描述 响应头Content-Type, Set-Cookie等 空行 响应体HTML/JSON等✅ 请求方法GET / POST / PUT / DELETE / HEAD / OPTIONSGET获取资源幂等参数在URL长度受限可被缓存POST提交数据非幂等参数在请求体无长度限制不可缓存PUT更新资源幂等DELETE删除资源幂等HEAD只获取响应头用于检查资源是否存在或缓存有效性OPTIONS获取服务器支持的方法✅ 响应状态码2xx 成功200 OK, 201 Created, 204 No Content3xx 重定向301 Moved Permanently, 302 Found, 304 Not Modified4xx 客户端错误400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 405 Method Not Allowed5xx 服务端错误500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout✅ 请求/响应头常见字段Content-Type请求/响应体的媒体类型如 application/jsonSet-Cookie服务器设置客户端CookieCookie客户端发送给服务器的CookieUser-Agent浏览器/客户端标识Accept客户端可接受的响应类型Cache-Control缓存控制策略✅ Cookie SessionCookie存储在客户端随每次请求发送有大小限制4KB可设置过期时间Session存储在服务端内存/Redis通过Cookie中的SessionID关联客户端区别存储位置Cookie在客户端Session在服务端安全性Session更安全数据不暴露性能Cookie轻量Session消耗服务端资源分布式Session需共享Redis/JWT3. UDP协议用户数据报协议特点无连接、不可靠、面向报文、速度快、开销小应用场景视频直播、语音通话、DNS查询、游戏实时交互报头结构源端口、目的端口、长度、校验和传输方式直接发送不保证到达或顺序4. TCP协议传输控制协议→面试最高频✅ 报头结构重点源端口、目的端口序列号、确认序列号标志位URG/ACK/PSH/RST/SYN/FIN窗口大小流量控制校验和、紧急指针等✅ 可靠性机制确认应答ACK接收方收到数据后发送ACK确认超时重传发送方未收到ACK则重发序列号确认号保证数据有序、无丢失、无重复面向连接建立连接后才传输数据面向字节流数据按字节流传输不保留边界✅ 连接管理三次握手 四次挥手三次握手建立连接客户端 → 服务器SYN1, seqx服务器 → 客户端SYN1, ACK1, seqy, ackx1客户端 → 服务器ACK1, seqx1, acky1目的同步初始序列号确保双方都能收发数据为什么不能两次​ 防止历史连接占用资源旧SYN包被新连接误认四次挥手断开连接客户端 → 服务器FIN1, sequ服务器 → 客户端ACK1, acku1服务器 → 客户端FIN1, ACK1, seqv, acku1客户端 → 服务器ACK1, ackv1TIME_WAIT状态客户端等待2MSL最大段生命周期确保最后一个ACK被服务器收到同时避免旧数据包干扰新连接状态转移图面试常考CLOSED → SYN_SENT → ESTABLISHED → FIN_WAIT_1 → FIN_WAIT_2 → TIME_WAIT → CLOSED服务器端同理✅ 流量控制 拥塞控制流量控制通过滑动窗口机制接收方告诉发送方自己还能接收多少数据窗口大小拥塞控制慢启动窗口指数增长拥塞避免窗口线性增长快重传收到3个重复ACK立即重传快恢复窗口减半后线性增长MSSMaximum Segment SizeTCP报文段最大数据长度避免IP分片5. IP协议网际协议报头结构版本、首部长度、服务类型、总长度、标识、标志、片偏移、生存时间TTL、协议、首部校验和、源IP、目的IPIP地址分类A类1.0.0.0 ~ 126.255.255.255默认掩码255.0.0.0B类128.0.0.0 ~ 191.255.255.255默认掩码255.255.0.0C类192.0.0.0 ~ 223.255.255.255默认掩码255.255.255.0D类组播地址224.0.0.0 ~ 239.255.255.255E类保留地址240.0.0.0 ~ 255.255.255.255IP路由根据目的IP地址选择下一跳路径IP分片当数据大于MTU最大传输单元时分片传输接收端重组6. ARP协议地址解析协议作用将IP地址解析为MAC地址过程主机A广播ARP请求“谁有192.168.1.1请告诉我你的MAC”主机B收到后单播ARP响应“我是192.168.1.1MAC是XX:XX:XX:XX:XX:XX”主机A缓存ARP表后续通信直接使用MAC地址7. DNS协议域名系统作用将域名如 www.example.com解析为IP地址解析过程递归迭代本地DNS缓存 → 本地hosts文件递归查询本地DNS服务器 → 根DNS → 顶级域DNS.com→ 权威DNS服务器返回IP地址给客户端常用记录类型AIPv4、AAAAIPv6、CNAME别名、MX邮件交换、TXT文本验证8. 浏览器从输入URL到看到最终效果发生了什么综合大题完整流程DNS解析将域名解析为IP地址TCP连接建立TCP三次握手HTTP请求发送HTTP请求报文服务器处理Web服务器接收请求调用后端服务如Servlet服务器响应生成HTTP响应报文状态码、响应头、响应体浏览器渲染解析HTML/CSS/JS构建DOM树、CSSOM树、渲染树布局绘制TCP断开四次挥手关闭连接缓存机制浏览器可能缓存资源Cache-Control, ETag三、广域网 vs 局域网维度广域网WAN局域网LAN覆盖范围城市、国家、全球办公室、校园、家庭传输速率较低早期56K现在光纤可达Gbps较高百兆/千兆/万兆以太网设备路由器、调制解调器、广域网链路交换机、集线器、无线AP协议PPP、HDLC、Frame RelayEthernet、Wi-Fi802.11成本高低设备交换机工作在数据链路层根据MAC地址转发帧路由器工作在网络层根据IP地址转发数据包四、网络分层OSI vs TCP/IP1. OSI七层模型理论模型层级功能协议/设备示例物理层比特流传输网线、光纤、集线器数据链路层帧传输、MAC地址、差错检测交换机、PPP、HDLC网络层路由、IP地址路由器、IP、ICMP传输层端到端通信、可靠性TCP、UDP会话层建立、管理、终止会话RPC、NetBIOS表示层数据格式转换、加密解密JPEG、SSL/TLS、ASCII应用层用户接口HTTP、FTP、SMTP、DNS2. TCP/IP四层模型实际应用层级对应OSI层协议/设备示例应用层765层HTTP、FTP、DNS、SMTP传输层4层TCP、UDP网际层网络层3层IP、ICMP、ARP网络接口层12层以太网、Wi-Fi、交换机五、Servlet应用Java Web核心1. 什么是ServletJava编写的服务器端程序用于处理HTTP请求生成动态响应运行在Servlet容器如Tomcat、Jetty中实现了javax.servlet.Servlet接口2. Servlet项目的创建使用IDEA/Eclipse创建Dynamic Web Project添加Servlet API依赖如javax.servlet-api继承HttpServlet类重写doGet()/doPost()方法3. Servlet项目的部署Windows部署配置Tomcat环境变量将项目打包为WAR放入webapps目录启动Tomcat访问http://localhost:8080/项目名Linux部署安装JDK、Tomcat上传WAR包至/opt/tomcat/webapps启动Tomcatbin/startup.sh访问http://服务器IP:8080/项目名4. Servlet的生命周期面试必考init()Servlet初始化时调用一次构造器后service()每次请求时调用根据请求方法分发到doGet()/doPost()destroy()Servlet销毁前调用服务器关闭时注意Servlet是单例多线程的不要在Servlet中使用实例变量线程安全问题5. 常见APIHttpServletRequest (req)getParameter()获取请求参数getHeader()获取请求头getSession()获取SessiongetCookies()获取CookiegetMethod()获取请求方法GET/POSTHttpServletResponse (resp)setContentType()设置响应类型如text/htmlsetCharacterEncoding()设置字符编码getWriter()获取输出流写入响应体sendRedirect()重定向到另一个URLaddCookie()添加Cookie到响应 面试/笔试高频总结必背模块高频考点HTTPGET/POST区别、状态码、Cookie/Session、请求/响应头TCP三次握手/四次挥手、可靠性机制、滑动窗口、拥塞控制、MSS、TIME_WAITIP/ARP/DNSIP地址分类、ARP解析过程、DNS解析流程网络分层OSI vs TCP/IP、各层功能、对应设备Servlet生命周期init/service/destroy、req/resp常用方法、多线程安全、部署流程 学习建议先理解原理再背面试题比如TCP三次握手先理解“为什么要同步序列号”再背步骤。画图记忆三次握手、四次挥手、网络分层、浏览器请求流程建议手绘流程图。动手实践用Java写一个简单的Servlet部署到Tomcat观察日志和网络抓包。刷真题针对字节、阿里、腾讯等大厂的真题反复练习“从输入URL到页面显示发生了什么”这类综合题。✅最终结论这张思维导图覆盖了Java后端面试中网络Servlet的90%核心考点。掌握这些内容足以应对绝大多数互联网公司的笔试和一面。

相关文章:

[特殊字符] 《网络知识和Servlet重点知识整理》

一、网络作用(基础认知) 核心作用:实现不同设备之间的数据传输与通信,支撑互联网应用(网页、APP、游戏、视频等)。 信息传递:客户端 ↔ 服务器 资源共享:文件、数据库、计算资源 分…...

YOLOv12解决方案实战:智能安防、交通监控、工业检测三大场景应用

YOLOv12解决方案实战:智能安防、交通监控、工业检测三大场景应用 【免费下载链接】yolov12 [NeurIPS 2025] YOLOv12: Attention-Centric Real-Time Object Detectors 项目地址: https://gitcode.com/gh_mirrors/yo/yolov12 YOLOv12作为NeurIPS 2025最新发布的…...

避坑指南:在实现LL(1)语法分析器时,SELECT集合计算的那些‘坑’与调试技巧

LL(1)语法分析器实战:SELECT集合计算的七大陷阱与可视化调试方法论 当你按照教科书实现了一个LL(1)语法分析器,却发现它错误地将已知的LL(1)文法判定为非LL(1)文法时,问题往往出在SELECT集合的计算逻辑上。本文将揭示开发者常踩的七个关键陷阱…...

3步掌握Adobe-GenP:开源工具助力创意工作流效率提升

3步掌握Adobe-GenP:开源工具助力创意工作流效率提升 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 在数字创意领域,Adobe Creative Cloud套…...

旋转编码器底层驱动库:轻量级正交解码与抗抖动设计

1. 旋转编码器底层驱动库技术解析与工程实践旋转编码器(Rotary Encoder)是嵌入式系统中最为基础且高频使用的机电输入设备之一,广泛应用于工业HMI、电机调速面板、音频设备音量调节、医疗设备参数设定等场景。其核心价值在于提供无触点、高寿…...

别再只传明文了!SpringBoot若依框架接口Base64加解密避坑指南

若依框架接口安全升级:Base64编码传输的实战陷阱与解决方案 在前后端分离架构中,数据安全传输一直是开发者关注的焦点。最近接手一个金融类项目改造,客户明确要求所有接口数据必须经过编码处理。当我信心满满地准备用Base64方案快速实现时&am…...

告别“权限不足”:手把手教你用CobaltStrike的Bypass UAC功能搞定Windows提权

实战指南:利用CobaltStrike突破Windows权限限制 当你手握一个普通用户权限的Beacon会话,却卡在"请求的操作需要提升"的提示前,这种挫败感每个渗透测试员都深有体会。Windows的用户账户控制(UAC)就像一堵无形的墙,将普通…...

千问3.5-9B提示工程:提升OpenClaw复杂任务分解能力

千问3.5-9B提示工程:提升OpenClaw复杂任务分解能力 1. 为什么需要优化任务拆解能力 上周我让OpenClaw执行"整理上季度销售数据并邮件发送给团队"时,AI直接把原始CSV文件作为附件群发——这显然不是人类想要的"整理"结果。这个尴尬…...

ESPS USB MSC 调试全过程记录酪

背景 在软件开发的漫长旅途中,"构建"这个词往往让人又爱又恨。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。 在很多项目中…...

Win11共享打印机报错0x00000709?别慌,试试这个注册表一键修复脚本

Win11共享打印机0x00000709错误终极修复指南:注册表脚本与深度解析 遇到Win11共享打印机报错0x00000709时,很多用户会陷入反复重装驱动、重启打印服务的循环中。这个看似简单的网络打印故障,实则与Windows的RPC通信协议配置密切相关。本文将提…...

Verdi 快速上手:信号追踪与波形调试实战

1. Verdi工具入门:数字IC调试的瑞士军刀 刚接触数字IC设计时,最让我头疼的就是仿真波形调试。密密麻麻的信号线像一团乱麻,根本不知道从哪里下手。直到同事推荐了Verdi,这个被业界称为"调试神器"的工具彻底改变了我的工…...

在Laravel 8中配置和使用基于IP的API限流策略

引言在Web开发中,API限流是保护服务器免受恶意请求和滥用的重要手段。Laravel框架提供了简单而强大的限流功能,可以轻松实现基于IP地址的请求限制。本文将详细介绍如何在Laravel 8中配置和使用基于IP的API限流策略。为什么需要API限流?API限流…...

AirPlay协议开源实现全攻略:从Raspberry Pi到Linux的5种方案实测

AirPlay协议开源实现全攻略:从Raspberry Pi到Linux的5种方案实测 在智能家居和多媒体共享领域,AirPlay协议因其出色的用户体验和苹果生态的广泛普及而备受关注。然而,官方AirPlay服务仅限于苹果自家设备,这促使开发者社区涌现出多…...

OpenClaw数据标注:Qwen3.5-9B-AWQ-4bit辅助制作AI训练数据集

OpenClaw数据标注:Qwen3.5-9B-AWQ-4bit辅助制作AI训练数据集 1. 为什么需要AI辅助数据标注 作为一个经常折腾个人机器学习项目的开发者,数据标注一直是我最头疼的环节。上周在做一个垃圾分类模型时,面对2000多张待标注的垃圾图片&#xff0…...

OpenClaw夜间值守:Qwen2.5-VL-7B实现服务器监控截图报警

OpenClaw夜间值守:Qwen2.5-VL-7B实现服务器监控截图报警 1. 为什么需要夜间值守方案 凌晨三点,我的手机突然响起刺耳的警报声——服务器CPU负载飙升至98%。当我手忙脚乱地远程连接服务器时,业务已经中断了15分钟。这次事故让我意识到&#…...

Agent Harness:AI Agent 时代那个「缺失的操作系统层」

文章目录前言当"最强大脑"得了"失忆症"Agent Harness:给AI装上"操作系统"Harness都管哪些事儿?1. 工具编排(Tool Orchestration)2. 记忆与状态持久化(Memory & State)3.…...

SecGPT-14B长文本优化:解决OpenClaw安全报告截断问题

SecGPT-14B长文本优化:解决OpenClaw安全报告截断问题 1. 问题背景与挑战 去年在搭建本地安全分析工作流时,我遇到了一个棘手的问题:OpenClaw生成的渗透测试报告总是被截断。当时我使用默认配置的SecGPT-14B模型(contextWindow8k…...

django基于大数据技术的医疗数据分析与研究_c1o2u99y_hxj031

前言随着信息技术的飞速发展,医疗领域产生的数据量呈爆炸式增长。这些数据蕴含着丰富的健康信息和疾病规律,但传统的数据处理方式往往只能进行简单的统计汇总,无法深入挖掘数据背后的关联性和趋势性规律,导致大量宝贵的医疗数据资…...

龙芯k - 走马观碑组MPU驱动移植霸

先回顾:三次握手(建立连接)核心流程(实际版) 为了让挥手流程衔接更顺畅,咱们先快速回顾三次握手的实际核心,避免上下文脱节: 第一步(客户端→服务器)&#xf…...

BMC11T001 NFC读卡器模块技术解析与Arduino集成指南

1. BMC11T001 NFC读卡器模块深度技术解析BMC11T001是由BestModules公司推出的基于UART接口的NFC卡片读取扩展板,专为Arduino生态设计。该模块并非简单的AT指令透传设备,其内部集成了完整的NFC协议栈处理单元,支持ISO/IEC 14443 Type A/B标准卡…...

工作 8 年才弄明白,原来,这才是JDK推荐的线程关闭方式

JDK在线程的Stop方法时明确不得强行销毁一个线程,要优雅的退出线程。 何谓优雅退出线程,即业务将进行中请求正确被处理,取消待执行请求,执行资源回收,最终Thread Runable run 方法return 结束执行。 首先问为什么要退…...

OpenClaw调试技巧:千问3.5-9B任务失败日志分析方法

OpenClaw调试技巧:千问3.5-9B任务失败日志分析方法 1. 为什么需要关注OpenClaw任务日志 上周我在尝试用OpenClaw自动整理技术文档时,遇到了一个诡异现象:任务明明显示"执行成功",但最终输出的Markdown文件却缺失了关键…...

被封杀三天后,龙虾带着“复仇版本“杀回来了

OpenClaw 4.5版本上线,能直接生成视频、图片和音乐。 有些故事,编剧都不敢这么写。 几天前,Anthropic对OpenClaw下了"封杀令"——只要系统提示词中出现OpenClaw的字样,Claude就会直接拒绝请求,返回一个冷冰…...

用GitHub Copilot 10分钟开发真寻Bot插件:以DeepSeek对话功能为例(附完整猫娘角色Prompt)

10分钟用GitHub Copilot打造真寻Bot猫娘对话插件:从零到部署的完整指南 引言:当AI助手遇上二次元聊天机器人 在QQ群聊中,你是否遇到过那些能对答如流的智能机器人?它们不仅能回答各种问题,还能扮演特定角色与用户互动。…...

华为元老许映童下周敲钟:思格新能开启招股:估值超100亿美元 高瓴是基石

雷递网 雷建平 4月8日思格新能源(上海)股份有限公司(简称:“思格新能”,股票代码:“06656”)今日开启招股,准备2026年4月16日在港交所上市。思格新能计划发售1357.39万股&#xff0c…...

nCode后处理实战:5个云图显示问题及快速解决方法(附截图)

nCode后处理实战:5个云图显示问题及快速解决方法(附截图) 刚接触nCode的工程师常常会在后处理阶段遇到各种云图显示问题——全红/全蓝的单调色块、突然出现的NaN警告、无限寿命区域干扰有效数据观察……这些看似简单的可视化问题,…...

从零到一:借助MCP与Neo4j实现无代码知识图谱的快速落地

1. 为什么你需要无代码知识图谱 想象一下这样的场景:你手头堆积着大量会议记录、产品文档和客户反馈,这些信息就像散落的拼图碎片,彼此之间似乎存在某种联系,但你却找不到合适的方法把它们串联起来。传统的数据处理工具面对这种非…...

Nextjs从入门到实战保姆级教程:环境配置与项目初始化

本系列文章将围绕Next.js技术栈,旨在为AI Agent开发者提供一套完整的客户端侧工程实践指南。 本章将引导你完成 Next.js 开发环境的搭建,创建第一个项目并理解其基本结构。我们将详细说明每个步骤的原理,确保你不仅知道"怎么做"&am…...

5. 你是怎么理解ES6中 Promise的?使用场景?

一、先给面试官一个结论版如果面试官问 "你怎么理解 Promise?" ,不要上来就背 API。 更好的开场是先说本质:Promise 是 ES6 引入的一种用于处理异步操作的解决方案。 它的核心价值是:把异步操作的最终结果(成…...

为机械臂视觉抓取铺路:在ROS Melodic环境下,一步步配置YOLOv5的Python和PyTorch依赖

为机械臂视觉抓取铺路:在ROS Melodic环境下配置YOLOv5的Python和PyTorch依赖 机械臂视觉抓取是当前工业自动化和机器人研究的热点领域,而YOLOv5作为目标检测的利器,能够为机械臂提供精准的物体定位信息。但在实际部署中,开发者常…...