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

每日八股文6.12

每日八股-6.12计算机网络1.当我们在浏览器中输入一个 URL 并按下回车后到页面最终显示出来这中间都发生了哪些关键步骤2.请简述一下 JWTJSON Web Tokens的原理和校验机制3.DNS 是如何进行域名解析的它属于 OSI 哪一层的协议4.HTTP 协议有哪些常见的状态码你能说出一些你熟悉的吗5.HTTP 协议是长连接还是短连接呢长连接的好处了解吗6.HTTP/1.0 和 HTTP/1.1 之间有哪些主要的区别7.Cookie、Session 和 Token 这三种技术有什么异同之处它们分别适用于哪些场景8.什么是跨域在什么情况下会发生跨域请求计算机网络1.当我们在浏览器中输入一个 URL 并按下回车后到页面最终显示出来这中间都发生了哪些关键步骤首先我们需要解析浏览器客户端的URL因为网络传输需要ip地址一个正确的URL包括协议比如httphttpsftp域名比如www.baidu.com端口对于http来说默认端口是80对于https来说默认端口是443路径比如说我们像访问百度贴吧里面某一个具体的帖子那么后面一定会跟随一个具体的路径。解析出这些之后我们需要获得请求的ip地址首先我们需要查看浏览器的缓存是否有这个ip地址如果有直接返回如果没有我们接下来去查操作系统的缓存比如hosts看有没有ip地址如果有直接返回如果没有我们就要用到域名解析协议也就是DNS本地域名服务器会帮我们去递归的查询ip地址。首先去查根域名服务器然后去查顶级域名服务器最后去查权威域名服务器这样我们就得到了ip地址。得到了ip地址之后我们就可以与服务器建立TCP连接如果使用的协议是http的话那么我们用三次握手来建立TCP连接具体细节是首先客户端发送一个SYN包到服务器表示我要开始与你建立连接了然后服务器返回一个SYN ACK包表示服务器收到了来自客户端的建立连接请求之后客户端再发送一个ACK包表示收到了来自服务器的SYN ACK包可以正式开始传输数据了。如果使用的协议是https的话那么我们用四次握手来建立安全的TCP连接。在完成了建立连接后浏览器将之前的http报文逐层的向下传输并封装该层的特定信息比如说到传输层就要封装上源端口和目的端口到网络层就要封装上源ip和目的ip到数据链路层就要封装上源mac地址和目的mac地址另外在数据链路层我们会使用到ARP协议来广播请求以此来知道下一跳的目标mac地址。就这样我们经过了无数个路由器最终到达了目的服务器服务器通过与刚才相反的路径返回我们请求的资源在浏览器web页面上渲染出来呈现给用户。2.请简述一下 JWTJSON Web Tokens的原理和校验机制JWT的全称是JSON WEB TOKENS是一种基于Json的开放标准一个JWT由三个部分构成头部header头部包括两个字段第一个字段是alg也就是指明我们的加密算法分为对称算法和非对称算法两种对称算法用到的一般是HS256非对称算法一般用到的是RS256第二个字段是typ这是一个固定值JWT用来表示他是一个jwt token。头部会使用base64 url来进行编码并进行加密负载payload负载主要存储的是实际信息包括用户登录信息过期时间等等他也需要用base64 url来进行编码但是他不会加密所以说我们不能将任何敏感的数据存放在负载里。签名signature签名是服务器用来验证客户端传来的jwt的完整性和真实性它等于alg解密后的头部“.”解密后的负载secret校验机制是这样的客户端发来一个jwt token服务器端用头部中的算法计算base64 url解密后的头部加上base64 url解密后的负载加上服务器端的密钥看是否用jwt token中的签名一致如果一致说明没有被篡改可以进行后续的操作。补充Refresh Token为什么需要Refresh TokenAccess Token即jwt在客户端请求服务器时会频繁的暴露在网络传输中极有可能会被窃取如果说jwt token设置的过期时间很长那么对用户会造成损失如果jwt token设置的过期时间很短比如说15分钟那么用户在使用服务的时候每隔十五分钟就需要重新输入一次密码这对于用户的体验感是极差的所以说我们在Access Token的基础上引入了Refresh Token它解决了上面两个问题首先Access Token通常存储在内存中而Refresh Token一般存在cookie上这保证了安全性另外最重要的是我们引入Refresh Token来刷新Access Token的这一过程对用户是无感的也就是用户不会察觉到。Access Token (访问令牌)就像是你酒店房间的房卡。它的有效期很短比如 15 分钟到 1 小时你每次进房间访问受保护的 API都需要出示它。它直接暴露给各种服务风险较高。Refresh Token (刷新令牌)就像是你办理入住时拿到的入住凭证。它的有效期很长比如 7 天或 30 天你平时都把它妥善保管起来不会轻易示人。它的唯一作用就是当你的房卡Access Token过期失效时你可以拿着这个凭证去前台特定的刷新接口换一张新的房卡。所以Refresh Token 本身并不用于访问业务 API它唯一的作用就是用来获取新的 Access Token。3.DNS 是如何进行域名解析的它属于 OSI 哪一层的协议DNS属于应用层的协议。当我们在浏览器输入一个url后浏览器首先检查自己的缓存看有无对应的ip地址有就直接返回没有就去检查操作系统的缓存如果还没有本地域名服务器先检查自己的缓存如果没有就去递归的搜寻ip首先去根域名服务器根域名服务器会告诉本地域名服务器去哪个顶级域名服务器找然后去顶级域名服务器顶级域名服务器会告诉本地域名服务器去哪个权威域名服务器找最后到权威域名服务器找到需要的ip地址并逐层向上返回。这时本地域名服务器会将ip缓存下来以便于下一次访问同样的url浏览器和操作系统也可能将ip缓存下来。4.HTTP 协议有哪些常见的状态码你能说出一些你熟悉的吗2开头的状态码表示服务器已成功接收到请求常见的有200 OK3开头的状态码表示客户端需要进一步的操作才能访问资源通常是重定向常见的比如301 Moved permanently表示永久重定向4开头的状态码表示客户端错误常见的比如说403 forbidden表示服务器禁止访问该资源404 not found表示服务器找不到该资源5开头的状态码表示服务器错误常见的比如说500 internal server error表示服务器内部错误502 bad gateway表示服务器作为网关时从后端服务器收到了无效响应5.HTTP 协议是长连接还是短连接呢长连接的好处了解吗这个要区分http/1.0和http/1.1如果是http/1.0默认的就是短链接也就是说客户端完成了一次对服务器的请求该连接就会关闭除非显式在请求头中指定connection keep alive。如果是http/1.1默认的就是长连接除非显式指定connection close长连接的好处就是客户端要多次访问同一url时不需要多次的建立连接只需在第一次建立连接就可以没有了多次建立和关闭连接的开销提升了通信的效率和性能。6.HTTP/1.0 和 HTTP/1.1 之间有哪些主要的区别最关键的一点1.1默认长连接1.0默认短链接长连接可以减少频繁创建和关闭TCP连接的开销提升网络通信性能和效率1.1支持管道化请求传输1.0只能等待一个请求返回响应之后再传输下一个请求但1.1可以在一个连接上发送多个请求但需要保证返回响应的顺序这会造成队头阻塞队头阻塞比如说连接上有三个请求第一个请求要访问一个很大的数据文件预估耗时3秒第二个请求只需要访问一段文字预计耗时0.01秒第三个请求只要访问一张图片预计耗时0.01秒因为要保证返回响应的顺序性即使我的后续请求只需要很短时间完成那么也需要等待前面的请求先返回响应这就是队头阻塞1.1引入了更多的缓存控制比如Entity TagIf-Match等等1.1针对带宽进行了优化允许只访问服务器的部分资源这可以保证用户在下载大文件的断点续传功能1.1支持虚拟主机通过引入host头部字段可以明确指定要访问的域名1.0的一大缺陷就是服务器只知道要访问的ip地址但不知道具体的域名是什么如果说一台服务器上托管了多个网站服务器就无法区分请求是发给哪个网站的。7.Cookie、Session 和 Token 这三种技术有什么异同之处它们分别适用于哪些场景Cookie存储在客户端浏览器它主要用来存储一些非敏感的数据比如说用户偏好等安全性低默认不支持跨域Session存储在服务器端服务器会为每一个发来请求的客户维护一个唯一的session ID并通过cookie发给客户端安全性较高跨域的支持有限可能需要一些特殊方法实现跨域Token存储在客户端它包含客户的一些登录信息和权限信息服务器可以通过验证token来进行用户的登录和授权token会使用算法加密安全性高且支持跨域从适用场景来看Cookie适用于存储一些临时数据做简单的状态管理Session适用于传统的web应用需要保护用户的敏感信息Token则适用于现代的web应用和Restful Api尤其是需要跨域和无状态服务的场景。8.什么是跨域在什么情况下会发生跨域请求跨域指的是在浏览器环境下去访问不同源的资源这里的源包括域名协议端口。以下场景都会发生跨域请求当前协议是http要去访问https下的资源当前域名是example.com要去访问example2.com的资源当前端口是默认端口80要去访问端口8080的资源一个现实场景中的例子就是现在的前后端分离项目前端应用部署在一个域名之下而后端的api服务部署在另一个域名之下当前端通过fetch发送请求比如说获取用户列表或者提交表单数据这时就发生了跨域请求最常用的解决方案就是Nginx 反向代理他的核心逻辑是同源策略只是浏览器的规矩服务器和服务器之间通信是没有跨域限制的具体来说就是1.前端a.com把请求发给同域名的 Nginx 服务器a.com/api。浏览器一看是同源开绿灯。2.Nginx 拿到请求后在后台悄悄把它转发给真正的后端服务器b.com。3.后端处理完把结果给 NginxNginx 再给前端。完美绕过浏览器限制。

相关文章:

每日八股文6.12

每日八股-6.12计算机网络1.当我们在浏览器中输入一个 URL 并按下回车后,到页面最终显示出来,这中间都发生了哪些关键步骤?2.请简述一下 JWT(JSON Web Tokens)的原理和校验机制3.DNS 是如何进行域名解析的?它…...

SecretVault强网杯2025 Web题解:从JWT绕过到HTTP头注入的实战剖析

1. 初探SecretVault:一个看似简单的Web应用 最近在复盘强网杯2025的一道Web题目,叫SecretVault。这道题挺有意思的,它表面上是一个密码保险箱应用,你可以登录、注册,然后把你的各种账号密码加密存进去。题目环境一打开…...

用UE5 Multi-User Editing实现远程团队协作:公网部署+会话管理全流程解析

用UE5 Multi-User Editing实现远程团队协作:公网部署会话管理全流程解析 最近和几个分布在不同城市的朋友一起捣鼓一个UE5的独立项目,最大的痛点就是资产和场景的同步。今天传个地图,明天发个蓝图,版本很快就乱成一锅粥。直到我们…...

Fabric、FISCO BCOS与以太坊:三大区块链平台的技术架构与应用场景解析

1. 开篇:为什么需要了解不同的区块链平台? 如果你刚开始接触区块链,可能会觉得眼花缭乱。以太坊、Fabric、FISCO BCOS……这些名字听起来都很厉害,但它们到底有什么区别?我该用哪个?这就像你要盖房子&#…...

幻兽帕鲁服务器搭建全攻略:从SteamCMD到端口转发一步到位

幻兽帕鲁私服搭建实战:从零构建稳定可联机的专属世界 最近身边不少朋友都沉迷于《幻兽帕鲁》这款游戏,但官服有时难免会遇到延迟、排队或者想和固定小圈子朋友一起玩的限制。于是,自己动手搭建一个专属服务器的念头就冒了出来。这听起来像是资…...

Charles实战:手把手教你模拟复杂网络环境下的弱网测试

1. 为什么你的App一到地铁里就卡?聊聊弱网测试那点事 不知道你有没有遇到过这种情况:早上通勤,在地铁里刷着新闻App,图片半天加载不出来,刷个短视频一直转圈圈,甚至点个外卖提交订单时直接卡死闪退。你可能…...

从柳树皮到实验室:水杨酸合成技术演进与化妆品原料安全标准解析

从柳树皮到实验室:水杨酸合成技术演进与化妆品原料安全标准解析 当我们谈论护肤品中的“刷酸”时,水杨酸几乎是一个绕不开的名字。它被成分党们奉为对抗黑头、闭口和痘痘的利器,但很少有人去深究,涂抹在脸上的那一滴精华或乳霜里&…...

[QCM6125][Android13] 关闭dm-verity后OTA升级兼容性校验的应对策略

1. 从一次失败的OTA升级说起:关闭dm-verity后的连锁反应 最近在折腾一块基于高通QCM6125平台的开发板,系统是Android 13。为了让设备获得更高的灵活性,比如能直接remount /分区进行一些调试和修改,我按照老习惯把dm-verity给关掉了…...

差分进化算法:从理论到实战的全局优化利器

1. 为什么说差分进化是你的下一个“秘密武器”? 大家好,我是老张,在AI和算法优化这个行当里摸爬滚打了十几年。今天想跟你聊聊一个我特别钟爱,并且在实际项目中屡建奇功的算法——差分进化。你可能听说过遗传算法、粒子群优化&…...

GIS开发必知:EPSG 4326和3857坐标系到底怎么选?附OpenLayers实战代码

GIS开发坐标系抉择:从原理到实战,深度解析4326与3857 最近在帮团队重构一个老旧的WebGIS项目时,我又一次被坐标系问题绊住了。数据源是标准的WGS84经纬度,但前端地图库默认渲染的却是Web墨卡托投影。页面上的几何图形拉伸变形&…...

基于eNSP的IPv4/IPv6双栈网络高可用与安全融合设计【企业园区网实战】

1. 项目背景与设计目标:为什么需要双栈高可用园区网? 大家好,我是老陈,一个在园区网里摸爬滚打了十多年的老网工。这些年,我亲眼看着网络从纯IPv4,到各种过渡技术,再到如今IPv6的全面铺开。很多…...

麒麟勒索软件攻击朝日集团事件解析:如何保护企业免受RaaS平台威胁

麒麟勒索软件攻击朝日集团事件解析:如何保护企业免受RaaS平台威胁 最近,一家全球知名的制造业巨头遭遇的网络攻击事件,在安全圈内外都引发了不小的震动。生产线停摆、供应链中断、敏感数据泄露,这些看似只存在于新闻中的场景&…...

智能工厂四大系统协同实战:ERP/PLM/MES/WMS数据流与接口设计全解析

1. 从“各自为政”到“协同作战”:为什么你的系统总在“打架”? 我干了这么多年智能工厂的规划和落地,发现一个特别普遍的现象:很多老板花大价钱上了ERP、PLM、MES、WMS,结果呢?数据还是对不上,…...

MTK SensorHub:从驱动注册到数据上报的完整流程剖析

1. 初识MTK SensorHub:手机里的“传感器大管家” 大家好,我是老张,在手机芯片和传感器这块摸爬滚打了十几年。今天咱们不聊那些虚头巴脑的概念,就掰开揉碎了讲讲MTK平台上一个非常核心但又有点神秘的东西——SensorHub。你可以把它…...

利用Docker搭建青龙面板:一站式京东自动签到与脚本管理指南

1. 为什么你需要青龙面板?从手动签到到自动化管理的蜕变 不知道你有没有这样的经历:每天醒来第一件事,不是刷牙洗脸,而是摸出手机,打开好几个购物APP,挨个点开签到页面,只为领那几毛钱的红包或者…...

华为昇腾NPU实战:Mistral-7B-v0.3模型部署避坑指南(附完整代码)

华为昇腾NPU实战:Mistral-7B-v0.3模型部署避坑指南(附完整代码) 最近在国产AI硬件上折腾大模型的朋友越来越多了,尤其是像Mistral-7B这类性能与效率兼顾的开源模型,大家都想看看它在昇腾NPU上的表现到底如何。我花了差…...

Ubuntu下Qt6与fcitx5中文输入法的深度集成指南

1. 为什么你的Qt6程序在Ubuntu上打不出中文? 这个问题我猜不少在Linux上用Qt6做开发的朋友都遇到过。你兴致勃勃地写了个带文本输入框的界面,运行起来,切到中文输入法,噼里啪啦一顿敲,结果屏幕上要么纹丝不动&#xff…...

MEMS惯性导航单元标定与测试的实践指南:从理论到代码实现

1. 为什么你的MEMS惯导不准?从“体检”开始说起 大家好,我是老张,在机器人导航这行摸爬滚打了十几年,用过、拆过、也标定过无数个MEMS惯性导航单元。我发现很多刚入行的工程师,包括一些做无人机、自动驾驶小车或者手持…...

从靶场到实战:Xray漏洞扫描工具的配置与高效扫描指南

1. 从靶场到实战:为什么你的Xray需要“毕业设计” 很多朋友第一次接触Xray,可能和我当初一样,都是从在线靶场开始的。比如经典的 testphp.vulnweb.com,一条命令 xray webscan --url http://testphp.vulnweb.com 跑下去&#xff0c…...

嵌入式开发实战:StateFlow在MATLAB中的高效应用

1. 从零开始:为什么嵌入式开发需要StateFlow? 如果你做过嵌入式开发,肯定遇到过这样的场景:一个设备,比如智能电饭煲,它有“待机”、“加热”、“保温”、“故障”这几个状态。写代码控制它的时候&#xff…...

深入解析AOMDV协议:多路径路由在Ad hoc网络中的实现与优化

1. 从单行道到立交桥:为什么Ad hoc网络需要AOMDV? 想象一下,你正在一个大型音乐节现场,手机信号时断时续,你和朋友走散了,想发条消息都发不出去。这时候,如果你们所有人的手机能自动“手拉手”组…...

116 Excel大文件处理实战指南

Excel大文件处理实战指南 本文深入讲解企业级Excel大文件处理方案,涵盖EasyExcel流式读写、内存优化、分批处理、超大文件导出等核心技术,并结合金融业务场景提供完整的生产级实现方案。 1 为什么需要专门的大文件处理方案? 传统POI的性能瓶颈 在企业级应用中,处理Excel文件…...

120 PDF转图片

PDF转图片 本文深入剖析PDF转图片技术,详解PDFBox库的使用、PDF渲染原理、图片质量控制、批量转换优化等核心技术,助你掌握企业级文档处理能力。 1 为什么需要PDF转图片? 业务场景 在企业级应用中,PDF转图片是一个常见且重要的功能需求: 典型应用场景: 文档预览优化:将多页…...

119 PDF操作iText7实战指南

PDF操作iText7实战指南 本文深入讲解iText7在企业级应用中的实战应用,涵盖PDF文档的创建、内容添加、表格绘制、数字签名等核心功能,掌握PDF自动化生成技术。 1 为什么选择iText7 1.1 企业级PDF生成需求 在金融、保险、电商等行业,PDF文档生成是核心业务功能之一: 典型应用场…...

118 Excel样式设置

Excel样式设置 本文深入讲解EasyExcel框架中的样式设置机制,涵盖表头样式、单元格样式、数字格式、条件格式和样式模板等核心功能,助你导出专业美观的Excel报表。 1 为什么需要Excel样式设置? 业务场景分析 在企业级应用中,Excel导出是最常见的数据交互方式,但原始导出的Exc…...

seaweedfs-5-SeaweedFS Volume官网介绍

SeaweedFS Volume 的官方文档和相关资源主要集中在其 GitHub 仓库及 Wiki 中。以下是关键链接和内容概述: 1. 官方主页与代码仓库 GitHub 项目主页: https://github.com/seaweedfs/seaweedfs 这里是 SeaweedFS 的核心代码库,包含所有组件(Master、Volume、Filer 等)的源码…...

PHPStudy+upload-labs靶场搭建避坑指南:从环境配置到蚁剑连接全流程

从零到一:构建你的本地Web安全实战环境与upload-labs靶场深度解析 对于刚踏入Web安全领域的学习者而言,最大的障碍往往不是复杂的漏洞原理,而是第一步——如何搭建一个稳定、可复现的实战环境。你是否曾满怀热情地下载了某个知名靶场&#xf…...

【RocketMQ 生产者和消费者】- 事务消息的使用

本文章基于 RocketMQ 4.9.3 1. 前言 【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消…...

CM311-1a机顶盒system分区只读?3种方法教你强制卸载并删除预装应用

CM311-1a机顶盒system分区只读?3种方法教你强制卸载并删除预装应用 手头这台CM311-1a机顶盒,开机后满屏的运营商应用和广告推送,用起来实在不够清爽。相信不少折腾过这类盒子的朋友都动过删除预装软件的念头,但当你兴致勃勃地连接…...

Linux运维进阶指南:从RHCSA到RHCA,如何规划你的红帽认证之路?

Linux运维进阶指南:从RHCSA到RHCA,如何规划你的红帽认证之路? 很多朋友在掌握了Linux基础操作后,会感到一丝迷茫。日常的服务器维护、脚本编写似乎已经得心应手,但职业的天花板也隐约可见。下一步该往哪里走&#xff…...