GraphQL 的缓存为什么比 REST 难做,有哪些层面的缓存手段?
GraphQL 的缓存为什么比 REST 难做,有哪些层面的缓存手段? 本文先给出可直接复述的结论,再用最小代码说明GraphQL 缓存 HTTP CDN 客户端归一化的工作方式、判断依据、项目边界和常见误区。
API 设计 · HTTP面试题第 1 页,显示第 1–13 题,共找到 13 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
GraphQL 的缓存为什么比 REST 难做,有哪些层面的缓存手段? 本文先给出可直接复述的结论,再用最小代码说明GraphQL 缓存 HTTP CDN 客户端归一化的工作方式、判断依据、项目边界和常见误区。
GraphQL 通过 HTTP 提供服务时 GET 与 POST 的使用边界是什么? 本文先给出可直接复述的结论,再用最小代码说明GraphQL over HTTP GET POST 规范的工作方式、判断依据、项目边界和常见误区。
限流时返回 429 与 Retry-After 的正确用法是什么,客户端重试该遵守什么规则? 本文先给出可直接复述的结论,再用最小代码说明429 Too Many Requests Retry-After 限流的工作方式、判断依据、项目边界和常见误区。
批量操作接口部分成功部分失败时,状态码和响应体该怎么设计? 本文先给出可直接复述的结论,再用最小代码说明批量接口 部分成功 207 响应设计的工作方式、判断依据、项目边界和常见误区。
REST GET 响应如何利用 Cache-Control 与 ETag 降低服务端压力,写操作后缓存怎么失效? 本文先给出可直接复述的结论,再用最小代码说明HTTP 缓存 Cache-Control ETag REST的工作方式、判断依据、项目边界和常见误区。
HTTP 内容协商中 Accept 与 Content-Type 各管什么,版本信息放进媒体类型有什么利弊? 本文先给出可直接复述的结论,再用最小代码说明HTTP 内容协商 Accept 与 Content-Type 媒体类型版本的工作方式、判断依据、项目边界和常见误区。
REST 接口中 GET、POST、PUT、PATCH、DELETE 分别对应什么操作,语义边界在哪里? 本文先给出可直接复述的结论,再用最小代码说明HTTP 方法 CRUD 映射 REST 语义的工作方式、判断依据、项目边界和常见误区。
HTTP 哪些方法是幂等的,为什么说 POST 不幂等而 PUT 幂等? 本文先给出可直接复述的结论,再用最小代码说明HTTP 幂等性 GET PUT DELETE POST的工作方式、判断依据、项目边界和常见误区。
REST API 设计中为什么推荐用名词而不是动词命名资源路径,删除用户这类操作该怎么设计? 本文先给出可直接复述的结论,再用最小代码说明REST 资源命名 名词 动词 URI 设计的工作方式、判断依据、项目边界和常见误区。
HTTP 安全方法是什么,GET 被缓存和预取带来什么设计约束? 本文先给出可直接复述的结论,再用最小代码说明HTTP 安全方法 GET 无副作用 缓存预取约束的工作方式、判断依据、项目边界和常见误区。
REST 中单个资源与集合资源的路径和状态码使用上有什么区别? 本文先给出可直接复述的结论,再用最小代码说明REST 集合资源 单资源 URI 状态码的工作方式、判断依据、项目边界和常见误区。
废弃旧版本 API 时如何用 Sunset 和 Deprecation 响应头通知客户端? 本文先给出可直接复述的结论,再用最小代码说明API 废弃 Sunset Deprecation 响应头的工作方式、判断依据、项目边界和常见误区。
REST API 版本放在 URL 路径、查询参数还是请求头,各自对缓存和演进有什么影响? 本文先给出可直接复述的结论,再用最小代码说明API 版本控制 URL 版本 Header 版本的工作方式、判断依据、项目边界和常见误区。