DNS_1">21.DNS查询过程
DNS 的作用是 将主机名和域名 转换为 IP地址,查询过程一般包括以下几个步骤:
- 第一步是 检查 本地DNS缓存:如果 本地缓存中有对应的IP地址,则直接返回结果
- 第二步,如果本地缓存中没有,则向 本地DNS服务器【注1】 发送一个DNS查询请求
- 第三步,如果本地DNS域名解析器 有该域名的IP地址,则直接返回结果;如果没有,则向 根DNS服务器 发送 查询请求。根DNS服务器 本身并不负责 解析域名,而是会告诉 本地DNS域名解析器 应该向 哪个顶级域DNS服务器 发送查询
- 第四步,本地DNS域名解析器 向指定的 顶级域DNS服务器 发送查询请求。顶级域DNS服务器 同样不负责 域名解析,而是会告诉 本地DNS域名解析器 应该向 哪个权威DNS服务器 发送查询
- 第五步,本地DNS域名解析器 向 权威DNS服务器 发送查询请求。权威DNS服务器 是负责 存储 特定域名和IP地址之间的映射。收到请求后,它会 查找域名对应的IP地址,并将结果返回
- 第六步,本地DNS域名解析器 将收到的IP地址 返回给 浏览器,并且 将结果缓存在本地,方便 下次访问时 更快地响应
- 第七步,浏览器发起连接,使用获得的IP地址与目标服务器建立连接,获取网页内容
【注1】通常由你的互联网服务提供商(ISP)提供, 比如中国移动
CDN_15">22.CDN是什么,有什么作用?
CDN是一种 分布式网络服务,将内容 存储在 分布式服务器 上。用户可以 从较近的服务器 获取所需内容,从而加速网络的内容传输。主要有以下几个方面的功能和作用:
- 第一个是 **就近访问:**CDN在全球范围内 部署了 多个服务器节点,用户请求会被 定向 到 最近的CDN节点,提供 快速的内容访问
- 第二个是 **内容缓存:**CDN节点会缓存 静态资源,如图片、样式表、脚本等。当用户发送请求时,CDN首先会检查自己是否已经缓存了该资源,如果有,则直接返回结果;如果没有,CDN节点 回向 源服务器 获取资源并缓存,以便后续再次访问。内容缓存可以减少对 源服务器的请求,从而减少 源服务器的负载
- 第三个是 **可用性:**即使某些节点出现问题,用户的请求 可以被重定向 到 其他健康的节点
CookieSession_23">23.Cookie和Session是什么?有什么区别?
Cookie和Session都用于 管理 用户的状态和身份,不同在是, Cookie在客户端记录信息,而Session在服务器端记录信息
对于 Cookie:
- 首先,服务器会将一个或多个 Cookie 发送到 用户浏览器,随后浏览器将这些 Cookie 存储在本地
- 然后,浏览器向服务器发出请求之后,服务器通过分析 请求头中的 Cookie,得到 客户端 特有的信息,从而 动态生成 与该客户端 相对应的内容
对于 Session:
- 当 客户端浏览器 访问 服务器的时候,服务器 把客户端的信息 记录在服务器上,这就是 Session。它主要用于 维护用户登录状态、存储用户的临时数据和上下文信息等。
- 服务器为每个用户 分配一个唯一的Session ID,通常存储在 Cookie中
- 第一个是 存储位置:Cookie 数据存储在用户的浏览器中,而Session 数据存储在服务器上
- 第二个是 数据容量:Cookie存储容量较小,一般为 几KB;而Session 存储容量较大,一般没有固定限制,主要取决于服务器的配置和资源
- 第三个是 安全性:由于 Cookie存储在 用户浏览器中,所以容易被 用户读取和篡改;而Session 存储在服务器上,拥护难以访问和修改,安全性更高
- 第四个是 生命周期:Cookie可以设置 过期时间,Session依赖于 会话的持续时间或用户活动
- 第五个是 传输方式:Cookie 通过 HTTP请求 自动 发往 服务器;而Session ID 通常 通过 Cookie 或 URL 传递参数