1、DNS的查询流程
DNS是用于将URL转化成IP地址的技术。可以到DNS服务器获取。
首先,用户输入URL的时候,浏览器会查看本地缓存是否存在与之对应的IP,如果缓存不存在,会通过递归查询本地的DNS服务器,如果不存在缓存,就继续迭代查询,依次查询根域名服务器、顶级域名服务器、权威域名服务器,最终可以从权威域名服务器获取IP,返回到本地DNS服务器中,并完成缓存,然后本地DNS服务器将IP返回给客户端。
核心点:递归查询与迭代查询、各级DNS缓存机制(设置有效时间TTL,Time to Live)

2、Cookie、Session、Token 三者的区别
在登录/需要会话时的场景下,需要创建Session(匿名场景不需要)。客户端向服务器请求数据,服务器会创建Session(生成Session数据 + Session ID),这个Session ID会通过HTTP Set-Cookie的方式下发给客户端,Session存储在服务器,用于存储复杂的业务数据。
Cookie,本质是键值对,通常小于等于4KB,里面存在少量的用户身份认证的数据,比如Session ID,存储在客户端。由于HTTP是无状态,所以每次客户端向服务器发起网络请求,都会在HTTP头部添加Cookie字段(携带有Session ID),用于“表明自己的身份”。
补充说明:Cookie 可以存放普通业务数据;存放 SessionId 只是它最经典的用法。
Token:一段加密 / 签名后的字符串,自包含身份凭证
| 维度 | Cookie | Session | Token(JWT) |
|---|---|---|---|
| 存储位置 | 浏览器客户端 | 服务端 | 前端(localStorage/Cookie) |
| 存储内容 | 普通字符串 | 用户会话数据 | 加密的用户信息 |
| 是否有状态 | 载体,无业务状态 | 有状态(服务端保存会话) | 无状态 |
| 跨域支持 | 受限,浏览器同源策略 | 依赖 Cookie,跨域麻烦 | 友好,手动放请求头 |
| 适用场景 | 传统 Web 网站 | 单体老项目 | 前后端分离、APP、分布式、微服务 |
实际应用和案例请查看:开发过程中,身份校验/鉴权常见用的两条路线-CSDN博客

1万+

被折叠的 条评论
为什么被折叠?



