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

【网络安全面经】技术性问题3

11. 一次完整的 HTTP 请求过程

  • 域名解析:通过 DNS 将域名转换为 IP 地址,如上述 DNS 的工作原理。
  • 建立 TCP 连接:客户端向服务器发送 SYN 报文段,经过三次握手建立 TCP 连接。
  • 发送 HTTP 请求:客户端向服务器发送 HTTP 请求报文,请求报文包括请求行(包含请求方法,如 GET、POST 等,请求的 URL 和 HTTP 协议版本)、请求头(包含客户端的一些信息,如浏览器类型、语言等)和请求体(对于 POST 请求,请求体中包含要提交的数据)。
  • 服务器处理请求:服务器收到 HTTP 请求后,根据请求的内容进行处理。如果请求的是一个网页,服务器会查找相应的网页文件,并可能执行服务器端脚本(如 PHP、ASP 等)。
  • 发送 HTTP 响应:服务器处理完请求后,向客户端发送 HTTP 响应报文。响应报文包括响应行(包含 HTTP 协议版本、状态码和状态消息,如 200 OK 表示请求成功)、响应头(包含服务器的一些信息,如服务器类型、内容类型等)和响应体(包含实际的响应内容,如网页的 HTML 代码)。
  • 关闭 TCP 连接:客户端收到 HTTP 响应后,根据响应内容进行处理(如在浏览器中显示网页)。然后,客户端和服务器通过四次挥手关闭 TCP 连接。

12. Cookies 和 session 区别

  • Cookies
    • 定义:是由服务器发送给客户端浏览器,并保存在客户端本地的一小段文本信息。
    • 工作机制
      • 当用户第一次访问网站时,服务器可以在响应头中设置一个或多个 Cookies,浏览器收到响应后,会将 Cookies 保存起来。
      • 下次用户再次访问该网站时,浏览器会在请求头中自动带上这些 Cookies,服务器根据收到的 Cookies 来识别用户的身份或获取用户的相关信息。
    • 特点
      • 存储在客户端,容易被篡改。
      • 可以设置过期时间,在过期时间之前,每次访问网站都会带上 Cookies。
  • Session
    • 定义:是服务器端为了维护用户状态而创建的一种机制。
    • 工作机制
      • 当用户第一次访问网站时,服务器会为用户创建一个唯一的会话 ID,并将该会话 ID 通过 Cookies 或 URL 重写等方式传递给客户端。
      • 客户端在后续的请求中带上会话 ID,服务器根据会话 ID 在服务器端找到对应的会话对象,会话对象中存储了用户的相关信息。
    • 特点
      • 会话信息存储在服务器端,相对安全。
      • 通常需要依赖 Cookies 或其他机制来传递会话 ID,如果客户端禁用了 Cookies,可能需要采用其他方式(如 URL 重写)来传递会话 ID。

13. GET 和 POST 的区别(续)

  • 安全性(续)
    • POST:数据在请求体中,相对 GET 更安全一些,但如果没有采用加密传输(如 HTTPS),数据仍然可能被截获。
  • 缓存
    • GET:通常会被浏览器缓存,当用户再次访问相同的 URL 时,浏览器可能直接从缓存中获取数据,而不向服务器发送请求。
    • POST:一般不会被浏览器缓存,每次提交 POST 请求都会向服务器发送数据。
  • 幂等性
    • GET:具有幂等性,多次执行相同的 GET 请求,对服务器资源的影响是相同的,即不会改变服务器资源状态。例如多次查询数据库中的数据,结果是相同的。
    • POST:一般不具有幂等性,多次执行相同的 POST 请求可能会对服务器资源产生不同的影响,如多次提交订单会创建多个订单。

14. HTTPS 和 HTTP 的区别

  • 数据传输安全性
    • HTTP(Hypertext Transfer Protocol):数据以明文形式传输,在传输过程中容易被窃取、篡改。例如,用户在 HTTP 网站上输入的登录密码可能会被网络中的攻击者截获。
    • HTTPS(Hypertext Transfer Protocol Secure):在 HTTP 的基础上加入了 SSL/TLS 协议进行加密传输。它使用公钥 - 私钥对数据进行加密和解密,确保数据在传输过程中的安全性。
  • 端口号
    • HTTP:默认端口号是 80。
    • HTTPS:默认端口号是 443。
  • 证书
    • HTTP:不需要证书。
    • HTTPS:需要 SSL 证书,证书由证书颁发机构(CA)颁发,用于验证网站的身份。当用户访问 HTTPS 网站时,浏览器会检查证书的有效性,如果证书无效或过期,浏览器会提示用户存在安全风险。
  • 搜索引擎优化(SEO)
    • HTTP:随着网络安全的重视,搜索引擎对 HTTP 网站的排名可能会逐渐降低。
    • HTTPS:搜索引擎更倾向于对 HTTPS 网站进行更好的排名,因为它能提供更安全的用户体验。

15. session 的工作原理?

  • 创建
    • 当用户第一次访问网站时,服务器会创建一个新的会话(Session),并为该会话生成一个唯一的会话 ID(Session ID)。
  • 存储
    • 服务器会将会话相关的数据(如用户登录信息、购物车数据等)存储在服务器端的内存或其他存储介质(如数据库)中,以会话 ID 作为索引。
  • 传递
    • 服务器将会话 ID 传递给客户端,通常通过以下方式:
      • Cookies:最常见的方式是将会话 ID 放在 Cookies 中发送给客户端,客户端在后续的每次请求中都会自动带上 Cookies 中的会话 ID。
      • URL 重写:如果客户端禁用了 Cookies,服务器可以将会话 ID 附加在 URL 后面,如http://example.com/page.jsp;jsessionid=123456,这种方式需要对网站中的链接进行处理,确保会话 ID 能够正确传递。
  • 检索和使用
    • 当客户端再次发送请求时,服务器根据收到的会话 ID 检索对应的会话数据,根据会话数据来处理用户的请求。例如,如果用户已经登录,服务器可以根据会话中的用户登录信息提供个性化的服务。
  • 销毁
    • 当用户退出登录、会话超时或服务器决定结束会话时,服务器会销毁对应的会话数据,并停止跟踪该用户的会话状态。

16. http 长连接和短连接的区别

  • 短连接(HTTP Short - Connection)
    • 定义:每次 HTTP 请求 / 响应完成后,客户端和服务器之间的 TCP 连接就会立即关闭。
    • 工作过程
      • 客户端向服务器发起 HTTP 请求,先建立 TCP 连接(通过三次握手)。
      • 服务器处理请求并返回 HTTP 响应。
      • 客户端收到响应后,通过四次挥手关闭 TCP 连接。
      • 下次客户端有新的 HTTP 请求时,需要重新建立 TCP 连接。
    • 应用场景:适用于对实时性要求不高、请求频率较低的场景,如简单的网页浏览,用户在不同页面之间切换时,每次重新建立连接对用户体验影响不大。
  • 长连接(HTTP Long - Connection)
    • 定义:在一次 TCP 连接中可以进行多次 HTTP 请求 / 响应,连接在一段时间内保持打开状态,直到达到预定的条件(如空闲时间过长、连接数量达到上限等)才会关闭。
    • 工作过程
      • 客户端向服务器发起 HTTP 请求,建立 TCP 连接。
      • 服务器处理请求并返回 HTTP 响应,但 TCP 连接不关闭。
      • 客户端可以在该连接上继续发起新的 HTTP 请求,服务器继续处理和响应,多次重复此过程。
      • 当满足关闭条件时,通过四次挥手关闭 TCP 连接。
    • 应用场景:适用于对实时性要求高、请求频繁的场景,如在线聊天、网页游戏等,避免了频繁建立和断开 TCP 连接带来的开销,提高了数据传输效率。

相关文章:

【网络安全面经】技术性问题3

11. 一次完整的 HTTP 请求过程 域名解析:通过 DNS 将域名转换为 IP 地址,如上述 DNS 的工作原理。建立 TCP 连接:客户端向服务器发送 SYN 报文段,经过三次握手建立 TCP 连接。发送 HTTP 请求:客户端向服务器发送 HTTP…...

前后端交互之动态列

一. 情景 在做项目时,有时候后会遇到后端使用了聚合函数,导致生成的对象的属性数量或数量不固定,因此无法建立一个与之对应的对象来向前端传递数据,这时可以采用NameDataListVO向前端传递数据。 Data Builder AllArgsConstructo…...

递归(3)----力扣40组合数2,力扣473火柴拼正方形

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates [10,1,2,7,6,1…...

十一:HTTP 状态码详解:解读每一个响应背后的意义

HTTP(超文本传输协议)是网络通信的基石之一,主要用于客户端(例如浏览器)和服务器之间的通信。为了让服务器能准确地向客户端反馈请求的处理状态,HTTP设计了一套标准的状态码。每一个状态码代表了特定的含义,指示了请求的状态、潜在的问题或成功的信息。 1. 信息响应 (1…...

《译文》2024年11月数维杯国际大学生数学建模挑战赛题目

# 赛题正式发布 2024年第十届数维杯国际大学生数学建模挑战赛顺利开赛,竞赛开始时间为北京时间2024年11月15日09:00至北京时间2024年11月19日09:00,共计4天,竞赛题目正式发布,快来一起围观,你认为今年的哪个题目更具有…...

shell命令统计文件行数之和

你可以使用以下 shell 命令来统计每个 .txt 文件的行数,并将其加和在一起: find . -name "*.txt" -not -name "*.json" -exec wc -l {} + | awk {sum += $1} END {print sum} 解释: find . -name "*.txt" -not -name "*.json": f…...

第02章 CentOS基本操作

2.文件基本操作【文件操作(一)】 目标 理解Linux下路径的表示方法能够使用命令(mkdir和touch)在指定位置创建目录和文件能够使用命令(rm)删除指定的目录和文件能够使用命令(ls)列出目录里的文件能够使用命令(cat,head,tail,less,more)查看文件内容理解标…...

241113.学习日志——[CSDIY] [ByteDance] 后端训练营 [02]

CSDIY:这是一个非科班学生的努力之路,从今天开始这个系列会长期更新,(最好做到日更),我会慢慢把自己目前对CS的努力逐一上传,帮助那些和我一样有着梦想的玩家取得胜利!!&…...

【HOT100第三天】和为K的子数组,最大子数组和,合并区间,轮转数组

今天练的是子串和子数组专题 ~ (前缀和那里差点学死了) 560.和为K的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 先写个暴力法,用昨天刚学…...

设计模式-Adapter(适配器模式)GO语言版本

前言 个人感觉Adapter模式核心就在于接口之间的转换。将已有的一些接口转换成其他接口形式。并且一般用于对象上,而不是系统上 问题 就用一个简单的问题,懂数据结构的同学可能知道双端队列。那么就用双端队列实现一个栈(stack)或…...

SAM_Med2D 训练完成后boxes_prompt没有生成mask的问题

之前对着这这篇文章去微调SAM_Med2D(windows环境),发现boxes_prompt空空如也。查找了好长时间问题SAM-Med2D 大模型学习笔记(续):训练自己数据集_sam训练自己数据集-CSDN博客 今天在看label2image_test.json文件的时候发现了一些端倪: 官方…...

游戏引擎学习第18天

clang-format 相关的配置可以参考下面 .clang-format 是用来配置代码格式化规则的文件,主要用于 Clang-Format 工具。以下是 .clang-format 文件中的一些常用设置: 1. 基础设置 Language: Cpp # 指定语言 (C, C, Java, JavaScript, etc…...

Kotlin return与return@forEachIndexed

Kotlin return与returnforEachIndexed fun main() {val data arrayOf(0, 1, 2, 3, 4)println("a")data.forEachIndexed { index, v ->if (v 2) {//类似while循环中的continue//跳过,继续下一个forEachIndexed迭代returnforEachIndexed}println("…...

基于Canny边缘检测和轮廓检测

这段代码实现了基于Canny边缘检测和轮廓检测,从图像中筛选出面积较大的矩形,并使用OpenCV和Matplotlib显示结果。主要流程如下: 步骤详解: 读取图像: img cv2.imread(U:/1.png)使用cv2.imread()加载图像。 转换为灰…...

力扣题目解析--合并k个升序链表

题目 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下…...

Linux:调试器-gdb/cgdb

文章目录 一、编译成debug1、-g 选项 二、gdb调试命令1、在CentOS系统下检查安装gdb2、进入gdb模式3、quit 退出gdb4、list (简写 l)显示文件内容5、b 打断点6、 r / run运行程序7、c 让程序直接运行完 三、cgdb1、info b查看打的所有断点2、d 删除断点3…...

『VUE』30. 生命周期的介绍(详细图文注释)

目录 生命周期生命周期的8阶段生命周期小例子总结 欢迎关注 『VUE』 专栏,持续更新中 欢迎关注 『VUE』 专栏,持续更新中 生命周期 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板&#xf…...

Python 人脸检测:使用 Dlib 和 OpenCV

简介 本文用Python、Dlib 和 OpenCV 库来检测图像中的人脸,并在人脸上绘制矩形框进行窗口显示。 环境准备 在开始之前,请确保您的计算机上已安装 Python。此外,您还需要安装以下库: dlib:一个包含多种机器学习算法…...

【大数据学习 | flume】flume的概述与组件的介绍

1. flume概述 Flume是cloudera(CDH版本的hadoop) 开发的一个分布式、可靠、高可用的海量日志收集系统。它将各个服务器中的数据收集起来并送到指定的地方去,比如说送到HDFS、Hbase,简单来说flume就是收集日志的。 Flume两个版本区别: ​ 1&…...

torch.is_storage()

torch.is_storage() 判断给定的对象是否是一个 PyTorch 存储对象 PyTorch 存储对象:PyTorch 中,存储对象(Storage)是一个低级别的对象,它表示一个存储数据的连续内存块。存储对象不包含任何关于数据如何解释的信息&a…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

PH热榜 | 2025-06-08

1. Thiings 标语&#xff1a;一套超过1900个免费AI生成的3D图标集合 介绍&#xff1a;Thiings是一个不断扩展的免费AI生成3D图标库&#xff0c;目前已有超过1900个图标。你可以按照主题浏览&#xff0c;生成自己的图标&#xff0c;或者下载整个图标集。所有图标都可以在个人或…...