DOMAIN · BACKEND
后端与数据
请求如何处理,数据如何保存与授权。从用户常说的话进入,逐步看懂背后的技术关系与验收边界。
持续接收请求、运行程序并返回数据或页面的计算环境。
“把接口放到一台外网能访问的机器上”不同程序按照约定交换数据或调用能力的接口。
“前端通过一个固定入口获取项目列表”浏览器或程序发出请求,服务器用状态码、头和内容做出响应。
“这个地址为什么返回 404,不是应该有数据吗”围绕资源和标准 HTTP 方法组织接口的一种常见风格。
“项目用地址表示,查询、创建、修改、删除用不同方法”用键、值、数组和对象表达结构化数据的文本格式。
“接口返回产品名称、版本和下载地址”数据库保存可查询的数据,数据结构规定字段、类型和关系。
“用户、项目、任务分别怎么存,彼此怎么关联”创建、读取、更新和删除数据的四类基本操作。
“这张表要能新增、查看、编辑和删除记录”认证确认你是谁,权限判断你能做什么。
“先登录,再确认这个账号能不能看这个项目”Session 由服务端保存会话,Token 把可验证凭据交给客户端携带。
“登录以后怎么让后面的请求知道还是我”浏览器用跨源规则限制网页调用另一个域名的接口。
“网页能打开接口地址,代码里请求却被浏览器拦了”一个 API 对外提供具体能力的地址与方法组合。
“请告诉我创建任务用哪个地址、POST 还是 PUT。”用三位数字概括一次 HTTP 请求的处理结果。
“未登录要返回 401,不要所有失败都返回 200。”当某个事件发生时,由服务端主动向另一个系统发送 HTTP 通知。
“支付成功后自动通知我们的订单服务。”客户端与服务端保持双向连接,双方都能随时发送消息。
“监测数据更新后直接推到页面,不要每秒轮询。”客户端按结构声明所需字段,由统一端点返回对应数据。
“这个页面只取项目名称和最新状态,不拉完整对象。”用机器可读文件描述 HTTP API 的路径、参数、模型和响应。
“让接口文档能生成客户端,并在 CI 中检查变更。”浏览器按域名保存并随请求发送的小段状态数据。
“登录态 Cookie 不能被前端脚本读取,并且只走 HTTPS。”把计算或获取过的结果暂存起来,减少重复工作与等待。
“产品列表一分钟内复用结果,更新后要主动失效。”限制单位时间内允许的请求数量,保护服务资源。
“登录接口连续失败后要限速,但不能误伤正常用户。”把图片、文档等二进制内容存到文件系统或对象存储,并在数据库记录引用。
“安装包放对象存储,数据库只保存版本和下载地址。”用于查询和修改关系型数据库的结构化语言。
“查出最近 30 天每个产品的下载次数。”不以传统关系表为唯一模型的一类数据库方案。
“会话文档结构变化快,可以评估文档数据库。”用表、行、列和关系约束组织结构化数据。
“订单必须关联有效客户,删除客户前要检查订单。”为常用查询建立额外的数据结构,减少扫描范围。
“按项目和时间查询太慢,请检查是否缺复合索引。”把多次数据操作作为一个不可分割的整体提交或回滚。
“扣库存和创建订单必须一起成功,否则都撤销。”用可版本化脚本逐步改变数据库结构或基础数据。
“新增字段要兼容旧版本,并能安全回退。”把耗时或可异步处理的工作排队,由独立执行器消费。
“导出报告放后台跑,页面显示进度,完成后通知用户。”由服务端只查询并返回当前一页数据,而不是把全部记录交给浏览器。
“十万条日志按游标分页,切换筛选后从头开始。”