【网络面试篇】其他面试题——Cookie、Session、DNS、CDN、SSL/TLS、加密概念

news2024/12/23 13:29:53

目录

一、HTTP 相关问题

1. Cookie 和 Session 是什么?

(1)Cookie

(2)Session

2. Cookie 的工作原理?

3. Session 的工作原理?

4. Cookie 和 Session 有什么区别?

二、其他问题综述

1. SSL/TLS 是什么?

2. 什么是对称加密和非对称加密?

(1)对称加密

(2)非对称加密

3. DNS 是什么?

4. DNS 解析过程?

5. CDN 是什么?

6. CDN 的工作流程?

7. CDN 是如何加速的?


一、HTTP 相关问题

1. Cookie 和 Session 是什么?

        Cookie 和 session 都用于 管理用户的 状态和身份,cookie 通过 在 客户端记录信息 确定 用户身份,Session 通过 在 服务器端记录信息 确定 用户身份。

        换种说法,Session 是 Cookie 的一种 应用。由于 HTTP 是 无状态的 协议,服务器 无法 直接 识别 用户的 身份和状态。因此,服务器 通常 使用 Session 来保存用户信息,并 通过 Cookie 将 Session ID 发送到 客户端。客户端 在 后续的 HTTP 请求中 携带 这个 Session ID,服务器 通过 Session ID 找到 对应的 Session 对象,从而 获取 用户的 会话信息。这种方式 实现了 用户 信息的 跨请求 传递 和 状态管理。

(1)Cookie

  • 当 服务器 响应一个 HTTP 请求时,它 可以 在响应头中 包含一个 Set-Cookie 字段,将 Cookie 发送到 客户端。客户端浏览器 会 保存这个 Cookie,并在 后续的 HTTP 请求中 通过 Cookie 头字段将其 发送回 服务器。
  • 服务器 在 接收到 来自 客户端 浏览器的 请求之后,就 能够 通过 分析 存放于 请求头 的 Cookie 得到 客户端 特有的信息,从而 动态 生成 与该 客户端 相对应的 内容
  • Cookie 通常 用于 存储 用户的 会话信息(如 登录状态、购物车内容 等)、跟踪 用户行为(如分析网站访问量、广告点击 等)以及 实现 个性化 服务(如 根据用户 偏好 显示内容)。

(2)Session

  • 用户 首次 访问服务器 时,服务器 会 创建一个 新的 Session 对象,并 为其 分配一个 唯一的 Session ID。这个 Session ID 通常 通过 Cookie(也可以通过 URL 重写 等方式)发送给 客户端,并 在后续的 HTTP 请求中 用于 标识 用户会话。服务器 通过 Session ID 找到 对应的 Session 对象,从而 获取 用户的 会话信息
  • 客户端 浏览器 访问 服务器的 时候,服务器 把 客户端信息 通过 Session ID 记录在 服务器上。这 就是 Session。Session 主要用于 维护 用户 登录状态、存储用户 的 临时数据 和 上下文信息等

2. Cookie 的工作原理?

        通过 服务器 在 HTTP 响应中设置 "Set-Cookie" 标头,然后 浏览器 将这些 Cookie 存储 并在 后续的请求中 发送给 服务器。这样 服务器 可以 通过 Cookie 实现 用户 状态管理 和 数据传递。

  • 用户 首次 访问 某个网站 时,该 网站的 服务器 会 生成一个 Cookie,并通过 HTTP 响应头 将其 发送到 用户的 浏览器。这个 Cookie 包含了 服务器 希望 保存在 用户计算机上 的 一些信息,如 用户的 身份认证、偏好设置、购物车内容 等。
  • 浏览器 接收到 服务器 发送的 Cookie 后,会 将其 保存在 本地设备的 特定位置,通常是 浏览器 的 Cookie 文件夹 中。这样,当 用户 再次 访问 该网站时,浏览器 可以 快速访问 这些 Cookie。
  • 当 用户 再次访问之前 访问过的 网站时,浏览器会 自动 将 存储的 Cookie 通过 HTTP 请求头 发送给 服务器。这个 过程是 自动的,用户 无需 进行 任何操作。
  • 服务器 接收到 浏览器 发送的 Cookie 后,会 根据 其中 保存的 信息来 识别 用户身份、恢复 用户设置 或 跟踪用户 行为。这样,服务器就 可以 为用户 提供 个性化的 服务,如 保持用户的 登录状态、记住用户的 购物车内容 等。
  • Cookie 可以 被 网站更新,例如 延长有效期、改变内容 或 添加 新的 Cookie,通过 发送 新的 “Set-Cookie” 标头 也可以 更新 Cookie 的值 或 设置新的参数这些 更新 操作 通常 由服务器 在用户访问 网站时 自动完成。
  • 用户 也可以 通过 浏览器 设置 手动删除 Cookie。这 通常是为了 保护 个人隐私 或 解决 Cookie 导致的一些 问题(如 登录状态异常、购物车 内容丢失等)。
  • Cookie 可以 设置 过期时间,可以是 会话级的(浏览器关闭时 失效)或 持久性的(在 一段时间后 失效)。当 过期时间 到达后,浏览器 不再 发送 该 Cookie。

3. Session 的工作原理?

        Session 是一种 在 服务器端存储 和 管理用户状态和数据的 机制,通常 基于 会话 标识符(Session ID)进行操作。

  • 当 用户 首次 通过 浏览器 访问 Web 应用程序 时,服务器会 检查 请求中 是否 包含 有效的 Session 标识符(如 Session ID)。如果没有,服务器会 为该 用户 创建一个 新的 Session。这个 ID 通常是一个 长随机 字符串,用于 存储 与该用户 会话 相关的 数据,如 用户身份、登录状态、购物车内容 等。Session ID 作为键,Session 对象 作为值,存储在 服务器端 的哈希表 或 类似数据结构 中
  • 每个 会话标识符 对应着 服务器上的 一个 会话 存储空间。这个 存储空间 用于 存储 该用户 在 会话期间的 状态和 数据,这包括用户的登录状态、购物车内容、表单填写进度等。服务器可以根据Session中的数据来为用户提供个性化的服务。
  • 当 用户 与 服务器 交互时,服务器 可以 通过 会话 标识符来 访问 对应的 会话 存储空间。服务器 可以 将数据 存储在 会话中,如 用户的登录状态、购物车内容、用户偏好等。
  • 服务器可以 为 每个会话 设置一个 超时时间,如果 用户 在一段时间内 没有活动,会话会 自动过期。一旦 会话过期,会话数据 将被 清除。
  • 用户 可以 手动 终止会话,例如 通过 退出 登录操作。这会 导致 服务器 删除 与该用户 相关的 会话数据。

4. Cookie 和 Session 有什么区别?

  • 存储位置:Cookie 数据 存储在 用户的 浏览器中,而 Session 数据 存储在 服务器 上。
  • 数据容量:Cookie 存储容量 较小,一般为 几 KB。Session 存储 容量 较大,通常 没有 固定限制,取决于 服务器的 配置和资源。
  • 安全性:由于 Cookie 存储在 用户浏览器 中,因此 可以 被用户 读取和篡改。相比之下,Session 数据 存储在 服务器上,更难 被用户 访问和修改。
  • 传输方式:Cookie 在每次 HTTP 请求中都会 被 自动 发送到 服务器,而 Session ID 通常 通过 Cookie 或 URL 参数传递。

二、其他问题综述

1. SSL/TLS 是什么?

  • SSL: Secure Socket Layer 安全套接字。
  • TSL: Transport Layer Security 安全传输层协议。
  • HTTPS(HyperText Transfer Protocol Secure):基于 TLS/SSL 安全版本的 HTTP 协议。

(1)SSL 和 TLS 协议 确保安全通信的 方式 

  • 加密:使用 加密算法 对传输的 数据 进行加密,防止 第三方截取 和 读取 敏感信息。
  • 身份验证:使用 数字证书 验证 通信双方 的身份,确保 数据 传输的 可信性。
  • 数据完整性:通过 使用 消息摘要算法,确保 传输的数据 在 传输过程中 没有被 纂改或损坏。

(2)SSL/TLS 工作流程

  • 客户端 和 服务器 进行身份认证,确保 双方都是 合法的 通信方。
  • 双方 协商 加密算法 和 加密密钥,用于 后续的 数据 加密和解密。
  • 使用 协商好的 加密算法 和 密钥,对 传输的数据 进行 加密和解密,确保 数据的 机密性和完整性。
  • 在 数据传输过程中,双方 可以 随时 进行密钥更新 和 重新协商,以 提高 安全性。

2. 什么是对称加密和非对称加密?

(1)对称加密

        对称加密 也称为 私钥加密,使用 相同的密钥 来进行 加密和解密

  • 在 加密 过程中,明文数据 通过 应用 特定的算法 和 密钥 进行加密,生成 密文数据。解密过程则是 将 密文数据 应用 同样的 算法 和 密钥 进行解密,恢复为 明文数据
  • 由于 加密 和 解密 都使用 相同的密钥,因此 对称加密算法的 速度 通常较快,但 密钥 的 安全性 很重要。如果 密钥泄漏,攻击者 可以轻易地 解密数据。

(2)非对称加密

        非对称加密 也称为 公钥加密,使用 一对 不同但 相关的 密钥:公钥和私钥。

  • 公钥 用于 加密数据,私钥 用于 解密数据。如果 使用 公钥加密数据,只有 拥有 相应 私钥的人 才能 解密数据;如果 使用 私钥 加密数据,可以 使用 相应 公钥解密。
  • 除了 加密和解密,非对称加密还 用于【数字签名】,可以 验证消息的 来源和 完整性。

3. DNS 是什么?

        DNS 是一个 分布式 数据库系统,它 负责 将人们 易于 记忆的 域名(如 www.example.com)转换为 计算机 能够识别的 IP 地址(如192.0.2.1)。

4. DNS 解析过程?

  • 先 查询 浏览器缓存 是否有 该域名 对应的 IP 地址。
  • 如果 浏览器缓存 中 没有,会 去 计算机本地 的 Host 文件 中 查询 是否有 对应的缓存。
  • 如果 Host 文件 中也 没有 则会 向 本地的 DNS 服务器(通常由 你的 互联网 服务 提供商(ISP)提供,比如中国移动)发送一个 DNS 查询请求。
  • 如果 本地 DNS 解析器 有 该域名的 ip 地址,就会 直接返回,如果 没有 缓存 该域名的 解析记录,它会 向 根 DNS 服务器 发出 查询请求。根 DNS 服务器 并 不负责 解析域名,但它能 告诉本地 DNS 解析器 应该向 哪个 顶级域(.com/.net.org)的 DNS 服务器 继续查询。
  • 本地 DNS 解析器 接着 向 指定的 顶级域名 DNS 服务器 发出 查询请求。顶级域 DNS 服务器 也不负责 具体的 域名解析,但 它能 告诉 本地 DNS 解析器 应该前往 哪个 权威 DNS 服务器 查询下一步的信息。
  • 本地 DNS 解析器 最后 向 权威 DNS 服务器 发送 查询请求。权威 DNS 服务器 是 负责 存储 特定域名 和 IP 地址映射的 服务器。当 权威 DNS 服务器 收到 查询请求 时,它会 查找 "example.com" 域名 对应的 IP 地址,并 将结果 返回 给 本地 DNS 解析器
  • 本地 DNS 解析器 将 收到的 IP 地址 返回给 浏览器,并且 还会 将 域名解析结果 缓存在 本地,以便 下次 访问时 更快地 响应。

        浏览器 发起连接:本地 DNS 解析器 已经 将 IP 地址 返回给 您的计算机,您的浏览器 可以 使用 该 IP 地址 与 目标 服务器 建立连接,开始 获取 网页内容。

5. CDN 是什么?

        CDN,全称为 内容分发网络(content Delivery Network),将 内容存储在 分布式的 服务器上,使 用户 可以 从 距离较近的 服务器 获取 所需的 内容,从而 减少 数据传输的 时间和距离,提高 内容的 传输速度、减少 延迟和 提升 用户体验。

6. CDN 的工作流程?

  • 当 用户 输入 一个域名 或 点击一个 链接时,首先会 进行 域名解析。如果 网站 启用了 CDN,DNS 解析 会 返回 距离 用户最近的 CDN 节点的 IP 地址,而不是 原始 源服务器的 IP 地址。
  • 用户的 请求会 被 路由到 距离 最近的 CDN 节点,并且 CDN 节点 可以 根据 服务器的 负载 和 可用性,动态地 将请求 分发到 最适合的 服务器节点 上。
  • CDN 会 首先 检查 是否已经 缓存了 该资源。如果 有缓存,CDN 节点 会直接 返回 缓存的 资源,如果 没有 缓存 所需资源,它会 从 源服务器(原始服务器)回源 获取资源,并将 资源 缓存到 节点中,以便 以后的 请求。

7. CDN 是如何加速的?

  • 就近访问:CDN 在 全球范围内 部署了 多个 服务器节点,当 用户 请求访问 一个网站时,CDN 会选择 距离 用户最近的节点 来 提供内容。这 减少了 数据传输的 距离和时间,从而 降低了 延迟。
  • 内容缓存:CDN 节点会 缓存 静态资源,如图片、样式表、脚本等。当 用户 请求访问 这些资源时,CDN 可以 直接从 缓存中 返回,避免了 从 源服务器 获取 资源的 延迟
  • 前置缓存:CDN 可以 根据 网站的 配置,提前 将热门的 内容 缓存在 节点中,以备 用户 请求时 快速 响应。
  • 智能负载均衡:CDN 会 根据 服务器的 负载和 可用性,动态地 将 请求 分发到 合适的 服务器 节点上,确保 资源的 快速获取。
  • 压缩技术:CDN 使用 压缩技术 对 内容进行 压缩,减少 传输数据的 大小,从而 加快 内容的 传输速度。
  • 并行下载:由于 CDN 支持 多路复用,用户 可以在 同一个 连接上 同时 下载 多个资源,从而 提高并行 下载的 效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2238554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试第二篇软件测试技术

第五章单元测试和集成测试的技术 单元静态测试主要由开发人员完成。 标准:规定什么能做,什么不能做。 规范:建议你要怎么做。 5.1.2 代码评审 代码评审是一种发现代码缺陷的另一种测试方法。 代码审查的最佳实践: 创建代码审…

QT中 update()函数无法实时调用 paintEvent

QT中 update()函数无法实时调用 paintEvent! 在QT中,update()函数用于标记一个窗口区域为“需要重绘”。当调用update()后,QT会在合适的时候调用paintEvent()来重绘这个区域。然而,update()不会立即调用paintEvent(),…

SDL事件相关

文章目录 事件相关的函数和数据结构用户自定义事件代码相关: 事件相关的函数和数据结构 SDL_WaitEvent :等待一个事件SDL_PushEvent 发送一个事件SDL_PumpEvents(): 将硬件设备产生的时间放入事件队列 ,用于读取事件,在调用该函数之前&#…

优化时钟网络之时钟抖动

Note:文章内容以Xilinx 7系列FPGA进行讲解 1、什么是时钟抖动 时钟抖动就是时钟周期之间出现的偏差。比如一个时钟周期为10ns的时钟,理想情况下,其上升沿会出现在0ns,10ns,20ns时刻,假设某个上升沿出现的时…

达梦8-达梦数据实时同步软件(DMHS)配置-Oracle-DM8

1、安装环境 源端目的端IP地址192.168.6.111192.168.6.110系统版本Red Hat 6.4Kylin v10数据库版本Oracle11g达梦 v8系统用户Oracledmdba字符集MERICAN_AMERICA.AL32UTF8UTF-8端口15215236实例名PRODDMSERVER数据库软件目录/u01/app/oracle/opt/dmdbmsDMHS安装目录/u01/dmhs/o…

AI基础知识

目录 1.激活函数:one: 激活函数的作用:two: sigmoid函数:three: tanh函数:four: ReLu:five: Leaky ReLU 2.Softmax函数3.优化器:one: 优化器的作用:two: BGD(批梯度下降):three: SGD(随机梯度下降):four: MBGD(Mini Ba…

【论文阅读】Learning dynamic alignment via meta-filter for few-shot learning

通过元滤波器学习动态对齐以实现小样本学习 引用:Xu C, Fu Y, Liu C, et al. Learning dynamic alignment via meta-filter for few-shot learning[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021: 5182-5191. 论文…

ArcGIS Pro SDK Addin-DAML

ArcGIS Pro SDK Addin-DAML 文章目录 ArcGIS Pro SDK Addin-DAML1 Panes: 重置窗格2 Button: 从功能区中移除核心按钮3 Button: 将新按钮插入功能区上的现有组4 Menu: 在图层上下文菜单中插入一个新按钮5 Menu: 在 Map Container 上下文菜单中插入新菜单6 Menu: 在2D Map上下文…

FPGA学习笔记#7 Vitis HLS 数组优化和函数优化

本笔记使用的Vitis HLS版本为2022.2,在windows11下运行,仿真part为xcku15p_CIV-ffva1156-2LV-e,主要根据教程:跟Xilinx SAE 学HLS系列视频讲座-高亚军进行学习 学习笔记:《FPGA学习笔记》索引 FPGA学习笔记#1 HLS简介及…

熊猫追剧 1.0.2 | 免费影视播放,独家蓝光线路

熊猫追剧是一款免费的视频播放软件,集合了网络上的电影、电视剧、综艺、动漫以及短剧等多种类型的视频资源。经过测试,该软件内没有广告干扰,采用独家蓝光线路,提供高清流畅的观影体验。用户还可以享受视频投屏、下载和倍速播放等…

[CKS] K8S AppArmor Set Up

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于AppArmor Pod操作权限的问题。 ​ 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[CKS] …

Tomcat漏洞利用工具-TomcatScanPro(二)

项目地址 https://github.com/lizhianyuguangming/TomcatScanPro 简介 本项目是一个针对 Tomcat 服务的弱口令检测、漏洞检测以及本地文件包含(LFI)攻击工具。除了支持 CVE-2017-12615 漏洞的多种利用方式外,新版本还集成了 CNVD-2020-104…

【XML协议】轻松掌握使用C++ XML解析库——pugixml

文章介绍了xml协议的组成以及C xml解析库pugixml的常用操作。源于开发中每次遇到xml操作时,都要回过头查看pugixml库常用操作时什么样的,能不能有个更深刻和清晰的认识呢?其实搞清楚xml结构和pugixml组织结构的对照关系,以及pugix…

《无线重构世界》射频模组演进

射频前端四大金刚 射频前端由PA、LNA、滤波器、开关“四大金刚” 不同的模块有自己的工艺和性能特点 分层设计 射频前端虽然只由PA、LNA、开关、混频器4个模块构成,但不同模块之间相互连接且相互影响。如果将射频系统当成一个整体来理解,其中的细节和…

《Python编程实训快速上手》第五天--模式匹配与正则表达式

一、不用正则表达式查找文本模式 文本模式是一种人为规定的结构,现在有一个模式:3个数字-3个数字-4个数字 使用isPhoneNumber()函数来判断字符串是否匹配该模式 def isPhoneNumber(number):if len(number) ! 12:return Falsefor i in range(0,3):if n…

文件读写函数(1)

大家好,今天我们来介绍一下文件读写函数,昨天我们已经简单提及了一下文件的概念,那么我们今天就不多说,下面我们来看函数。 1.fopen函数 这个函数是用来打开文件的,它的两个参数分别是文件名和文件的打开模式&#x…

华为数通HCIA系列第5次考试-【2024-46周-周一】

文章目录 1、子网掩码有什么作用,和IP地址是什么关系,利用子网掩码可以获取哪些信息?2、已知一个IP地址是192.168.1.1,子网掩码是255.255.255.0,求其网络地址3、已知某主机的IP地址是192.168.100.200,子网掩…

Linux(CentOS)运行 jar 包

1、在本地终端运行,关闭终端,程序就会终止 java -jar tlias-0.0.1-SNAPSHOT.jar 发送请求,成功 关闭终端(程序也会终止) 发送请求,失败 2、在远程终端运行,关闭终端,程序就会终止 …

GIT:如何查找已删除的文件的历史记录

首先你得知道文件的名称和路径 然后打开 gitlab,到项目中,仓库-> 文件 查找文件 复制文件名到可能存在过这个文件的分支当中,就能看到了

C++builder中的人工智能(21):Barabási–Albert model(BA)模型

在此之前,大多数网络被想当然的认为是随机的,因此连接度分布可以近似用泊松分布来表示,而巴拉巴西与其学生阿尔伯特、郑浩雄通过对万维网度分布测量的结果却显示万维网度分布服从幂律分布,存在枢纽节点(拥有大量链接的…