华为OD技术面真题 - 计算机网络 - 3

文章目录

  • 介绍一下HTTP报文结构
  • HTTP请求方法有哪些,分别代表什么含义
  • HTTP响应状态码分为哪几类
  • HTTP和HTTPS的区别
  • HTTP请求为什么是无状态的
  • 如何使用HTTP实现有状态访问

介绍一下HTTP报文结构

HTTP请求头结构图:

请求报文整体分为四个部分:

  1. 请求行:包含一下几个结构
    • 请求方法:表示这个报文的目的,具体有(POST、GET、PUT、Delete、HEAD、CONNECT等)
    • URI:代表服务器上的资源路径
    • HTTP版本:使用的协议版本
  2. 请求头: HTTP 请求头用于向服务器说明“我是谁、我想要什么、我怎么传、你要怎么处理”,常见请求头有User-AgentAccept-Language,Accept-Encoding
  3. 空行:用来分隔“请求头”和“请求体”
  4. 请求正文(请求体):可选,不是所有请求都有消息体。存储要发送的数据。

HTTP响应头结构

主要也分为四个部分

  1. 状态行:主要包含三个部分:
    • HTTP版本:使用的协议版本
    • 状态码:请求处理结果
    • 状态描述: 对状态码的文字说明
  2. 响应头:类似于请求头
  3. 空行:用来分隔响应头和响应体
  4. 响应体:携带真正的数据内容

HTTP请求方法有哪些,分别代表什么含义

HTTP的请求方法分为以下几种,并提供含义

  1. GET:从服务器获取资源,不改变服务器状态。
  2. POST:用于提交数据。向服务器提交数据,通常用于新增或触发操作,会改变服务器状态。
  3. PUT:用新数据“整体替换”服务器上的资源,会改变服务器状态。
  4. DELETE:删除服务器上的指定资源。
  5. PATCH:只修改资源的部分字段。
  6. HEAD:与 GET 类似,但不返回响应体。用于判断资源是否存在等
  7. OPTIONS:询问服务器支持哪些方法或跨域能力。
  8. TRACE:请求回显,服务器原样返回收到的请求。
  9. CONNECT:用于 HTTPS 代理,建立 TCP 隧道。

HTTP响应状态码分为哪几类

HTTP 状态码是三位数字,按第一位进行分类,主要分为以下几类每一类给出常见几个状态码:

  1. 1xx:表示表示请求已接收,继续处理。
    • 100 continue: 客户端可继续发送请求体
    • 101 Switching Protocols:协议升级(如 HTTP升级为WebSocket)
  2. 2xx:请求被服务器正确处理.
    • 200 OK: 请求成功
    • 201 Created: 资源创建成功
    • 204 No Content: 成功但无响应体
  3. 3xx: 重定向,需要客户端采取进一步操作。
    • 301 Moved Permanently: 永久重定向
    • 302 Found: 临时重定向
    • 304 Not Modified:使用缓存
  4. 4xx: 请求有问题,服务器无法处理
    • 400 Bad Request: 请求格式错误。
    • 401 Unauthorized: 未认证
    • 403 Forbidden: 无权限
    • 404 Not Found: 资源不存在
  5. 5xx: 服务端错误
    • 500 Internal Server Error: 服务器内部错误
    • 502 Bad Gateway: 网关错误
    • 503 Service Unavailable: 服务不可用
    • 504 Gateway Timeout: 网关超时

HTTP和HTTPS的区别

HTTP 是明文传输协议,不安全;HTTPS 在 HTTP 基础上通过 TLS 加密,保证通信的机密性、完整性和身份认证。

HTTPS的大致流程:

  1. 客户端发起 HTTPS 请求
  2. 服务器返回数字证书
  3. 客户端验证证书合法性
  4. 利用证书中公钥协商对称密钥
  5. 使用对称加密传输 HTTP 数据

HTTP请求为什么是无状态的

无状态的含义:HTTP 本身不记录请求之间的状态,每次请求都是独立的,服务器不知道上一次请求发生了什么。 HTTP总体流程为客户端发一次请求 → 服务器处理 → 返回响应 → 不保存客户端信息.下次请求,服务器知道你上一次做了什么.

为什么设计为无状态:

  1. 简单:TTP协议最初设计为一个简单的、轻量级的协议,旨在快速传输网页内容。无状态的设计使得服务器不必为每个客户端维护状态信息,从而减少了服务器的负担和复杂性。
  2. 可伸缩性:无状态的特性使得服务器可以很容易地扩展,因为每个请求都可以由任何一个服务器处理,而不必关心之前的请求历史。这使得负载均衡变得更加容易,因为可以将请求分发到不同的服务器上,而无需担心状态信息的同步问题。
  3. 可靠性:无状态的设计使得HTTP协议更加健壮。如果某个请求失败了,客户端可以重新发送请求,而不需要担心之前的请求状态。服务器只需处理当前的请求即可,无需维护长期的状态信息。
  4. 安全性:无状态的特性也有助于提高安全性。因为每个请求都是独立的,所以攻击者很难通过分析请求序列来获取敏感信息。此外,无状态的设计使得服务器不必担心状态信息被篡改或泄露。

如何使用HTTP实现有状态访问

思路:HTTP 本身不保存状态 → 状态信息由客户端携带 + 服务器存储 → 形成有状态访问。

常见方案

  1. Cookie + Session: 方案总体流程
    • 用户第一次访问网站,服务器生成一个Session ID,在服务器保存状态数据。
    • 服务器通过Set-Cookie把 Session ID 发给客户端
    • 客户端每次请求都带上 Cookie(Session ID)
    • 服务器根据 Session ID 找到对应状态,完成有状态访问
  2. Token:方案总体流程
    • 用户登录 → 服务器生成Token
    • 服务器把 Token 返回给客户端
    • 客户端每次请求带上 Token(Header 或 Cookie中)
    • 服务器解析 Token → 得到用户状态
  3. URL参数:放在把状态信息放在 URL/ 消息体 中传递。(不建议)

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

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

相关文章

【开源】基于 C# 和 Halcon 机器视觉开发的车牌识别工具(附带源码)

文章目录项目介绍应用场景功能特点Halcon关键代码功能截图源码地址C#调用项目代码项目介绍 halcon_chepai一款基于C#编程语言与Halcon机器视觉库的车牌识别系统。该系统利用Halcon强大的图像处理能力,结合C#的灵活性与易用性,实现了高效、准确的车牌识别…

能否添加背景音乐?后处理功能开发中,支持音频混音导出

能否添加背景音乐?后处理功能开发中,支持音频混音导出 🎧 语音合成的进阶需求:从“能说”到“好听” 当前,基于 Sambert-Hifigan 的中文多情感语音合成系统已实现高质量、低延迟的文本转语音能力。用户可通过 WebUI 或…

技术日报|开源搜索智能体MiroThinker登顶日增803星,Claude记忆插件claude-mem爆发破万二

🌟 TrendForge 每日精选 - 发现最具潜力的开源项目 📊 今日共收录 15 个热门项目,涵盖 48 种编程语言 🌐 智能中文翻译版 - 项目描述已自动翻译,便于理解 🏆 今日最热项目 Top 10 🥇 MiroMindA…

低成本实现语音播报:Sambert-Hifigan+轻量服务器,月成本不足百元

低成本实现语音播报:Sambert-Hifigan轻量服务器,月成本不足百元 引言:中文多情感语音合成的现实需求 在智能客服、有声阅读、教育辅助和IoT设备中,高质量的中文语音合成(TTS) 正成为提升用户体验的关键能…

为什么90%的大数据项目都栽在数据一致性上?资深架构师总结的避坑指南

为什么90%的大数据项目都栽在数据一致性上?资深架构师总结的避坑指南 一、引言:那个让技术总监拍桌子的“数据对账惨案” 凌晨3点,某电商公司的技术部办公室还亮着灯。数据分析师小王盯着屏幕上的报表,额头上全是汗——昨天的“618大促实时成交额”报表显示是1.2亿,但离…

在 ABAP Cloud 里正确使用系统字段 SYST:从 SY 到 Context 与 XCO 的迁移指南

很多 ABAP 开发者对 SY 这套系统字段又爱又恨:它随处可用、运行时自动刷新,写日志、判定流程、拼消息都很顺手。可一旦进入 ABAP Cloud(包括 SAP BTP 上的 ABAP environment,以及 S/4HANA Cloud 的 ABAP for Cloud Development 语法版本),你会明显感到同一段代码在不同环…

救命神器9个AI论文写作软件,专科生毕业论文格式规范全搞定!

救命神器9个AI论文写作软件,专科生毕业论文格式规范全搞定! AI 工具如何成为论文写作的得力助手? 在当前的学术环境中,越来越多的学生开始借助 AI 工具来提升论文写作效率。尤其对于继续教育的学生来说,时间紧张、任务…

在 ABAP Cloud 用 XCO 读取 Call Stack 与 Tenant 信息:把调试线索和云身份带进日志体系

在 ABAP Cloud 的日常开发里,XCO 往往像一把瑞士军刀:它把一些高频、细碎、却又很容易写出坑的能力,封装成了可组合、可读性很强的公共 API。官方对 XCO 的定位也很明确:面向 ABAP 的通用开发库,用来提升开发体验与效率。(SAP Help Portal) 同时,XCO 以模块化方式提供能力…

OCR技术选型:CRNN模型的优势与应用场景

OCR技术选型:CRNN模型的优势与应用场景 📖 技术背景:OCR文字识别的核心挑战 光学字符识别(Optical Character Recognition, OCR)是将图像中的文字内容转化为可编辑文本的关键技术,广泛应用于文档数字化、票…

虚拟串口软件模拟多设备通信:深度剖析机制

一台电脑模拟整条工业总线?揭秘虚拟串口如何“无中生有”构建多设备通信系统你有没有遇到过这样的场景:调试一个Modbus主站程序,却只有单个从设备可用;想验证轮询逻辑,但手头缺了另外两个传感器模块;团队多…

在 ABAP Cloud 时代用好 Key User Apps:扩展更快,也更不容易踩坑

在很多 SAP S/4HANA 项目里,扩展需求来得又快又杂:业务想加字段、想改界面、想插入校验逻辑、想做一张轻量报表,还希望最好别写太多代码、别动核心对象、别影响升级。此时你会发现,ABAP Cloud 并不是唯一解法——系统里那套给关键用户准备的 Key User Extensibility(也常被…

通达信唐能通多响炮公式

{}X1:REF(C,2)>REF(O,2)*1.04 AND REF(C,1)<REF(O,1) AND REF(C,1)>REF(O,1)*0.97 AND C>O*1.04; X2:REF(C,1)>REF(O,2) AND C>REF(C,2); XG:X1 AND X2;

在 Cloud ABAP 中消费 REST API:用 IF_WEB_HTTP_CLIENT + XCO_CP_JSON 跑通 CRUD(附完整示例)

在 SAP 的世界里,大家对 OData 很熟:它基于 HTTP,走 URI,数据常见是 JSON 或 XML,本质上也属于 REST API 的一种实现方式。真正让人头疼的点往往不在 发布,而在 调用——当你需要从 ABAP 程序里去消费外部系统的 API(例如物流、支付、税率、AI 服务、第三方主数据),很…

Sambert-Hifigan镜像安全加固:防止未授权API调用的配置策略

Sambert-Hifigan镜像安全加固&#xff1a;防止未授权API调用的配置策略 &#x1f399;️ 背景与挑战&#xff1a;开放API带来的安全隐患 随着语音合成技术在智能客服、有声阅读、虚拟主播等场景的广泛应用&#xff0c;基于深度学习的TTS&#xff08;Text-to-Speech&#xff0…

MySQL:数据查询-limit

在 MySQL 中&#xff0c;LIMIT 子句用于限制查询结果集中的行数。它非常有用&#xff0c;特别是在处理大量数据时&#xff0c;可以提高性能和响应速度&#xff0c;或在需要分页结果时控制输出的结果数量。 一、基本用法 LIMIT 的基本语法如下&#xff1a; SELECT column1, colu…

“电”击预警!VR跨步电压安全体验系统

一、产品介绍VR跨步电压安全体验系统核心由触摸一体机、一体机及触电行走体验平台构成&#xff0c;是一套集知识科普与实操演练于一体的沉浸式安全培训设备。系统以跨步电压安全为核心&#xff0c;通过“理论学习实景体验”的模式&#xff0c;帮助体验者全面掌握跨步电压相关安…

再发一个据说用好的 可敌国实际到头来被媳妇赶下床的多

{}V1:EMA(C,12); V2:MA(C,50); V3:EMA(C,50); COUNT(CROSS(V1,V2),2) AND COUNT(CROSS(V1,V3),2);

在 ADT 用 ABAP 写自己的 IDE Action:从输入对话框到一键生成类工件

在很多团队里,开发效率的瓶颈往往不是写业务逻辑本身,而是那些重复到让人麻木的脚手架工作:创建类、补接口、配工厂、塞依赖注入器、挂到包里、分配传输请求、激活对象……这些步骤每次都不难,但每次都要做,累积起来就很可观。 IDE Action Framework的出现,把这类工作从…

并发事务带来哪些问题?

并发事务可能导致脏读、不可重复读和幻读。脏读是指一个事务读到了另一个事务未提交的“脏数据”。不可重复读是指在一个事务内多次读取同一数据&#xff0c;由于其他事务的修改导致数据不一致。幻读是指一个事务读取到了其他事务插入的“幻行”。

在 ABAP 环境用 Customer Data Browser 替代 SE16:一套兼顾自助查询与权限合规的数据浏览方案

在传统 ABAP 系统里,业务同事要临时核对数据,很多人会想到 SE16、SE16N、SE16H 这类通用表浏览事务码。到了 SAP BTP 上的 ABAP environment,使用入口从 SAP GUI 转到 Fiori,通用表浏览这件事就变得敏感:一方面,终端用户不再拥有 SAP GUI;另一方面,随便看表 本身在合规…