首页
学习
活动
专区
圈层
工具
发布

当AI开始"读心":从用户行为变迁看,为什么你的内容需要抢占"LLM可见性"新战场?

当全球AI大模型日均处理超万亿次查询(Semrush 2025Q2数据),当"先AI后搜索"成为新一代用户的行为惯性,一场静默的搜索革命正在发生——传统的SEO(搜索引擎优化)正在失效,而"LLM可见性...举个真实案例:某母婴品牌的"新生儿护理手册"在Google排名TOP3,但用户通过AI提问"新生儿红屁屁怎么办"时,AI却优先推荐了某育儿社区的一篇短文。...这正是LLM可见性的核心:它衡量的是你的内容被AI大模型"理解、索引、推荐"的能力,与Google排名无关,却直接决定了用户能否通过AI获取你的信息。...二、13个关键洞察:从AI的"读心术"看内容新规则 Semrush的报告拆解了LLM可见性的底层逻辑,并给出了13个可落地的行动指南。我们结合用户行为与AI大模型特性,提炼出最关键的5个方向: 1....(本文数据来源:Semrush《LLM Visibility与SEO/GEO趋势报告2025》) 互动话题:你观察到用户行为有哪些与AI相关的变化?欢迎在评论区分享。

37810

GraphQL 和 REST 优缺点对比,附上代码示例

它的目的是纠正REST的一些缺点,但没有一项技术是完美的。 与 REST 相比,GraphQL 有哪些优点?为什么要在项目中使用其中一种?...抓取过度/抓取不足 另一个存在的问题是过多抓取和抓取不足。在 REST API 中,当您到达一个端点时,总是会得到相同的数据,无论您是否需要它。 假设我们只需要某人的用户名和头像。...要显示单个用户的帖子,我们需要用户信息和帖子的内容。如果我从用户端点获取用户,我仍然需要点击 posts 端点,并使用 userid 检索 posts。...缺乏灵活性 在前一点的基础上进一步扩展,REST 依赖于创建符合前端需求的api。如果您能够预测前端在碰到特定端点时需要什么,就可以精确地调整检索到的数据,以匹配该视图。...当视图是相对静态的时候,这种方法工作得很好。但如果你的前端经常变化,你就需要一个 API,它可以更灵活地返回数据。

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么GraphQL是API的未来

    REST 很久以前,当我们把 API 的设计从 SOAP 转向 REST 时,认为此举将会为工作提供更多的灵活性。我们不能否认 REST 的运作是良好的,在当时是一个很好的举措。...如果要发出 GET 请求,则需要具有特定参数并特定于该请求的端点。如果要发出 POST 请求,则需要该请求的另一个端点。 ? REST 有太多的端点 但是这有什么问题呢?...过度获取和欠缺的信息 真正令人烦恼的问题是通过 REST API 会过度获取和欠缺的信息。这是因为 REST API 会始终返回固定的结构。...GraphQL 只需要一个端点,通过它我们可以在单个请求中获得尽可能多的数据。基本上 GraphQL 会将你的所有查询、修改和订阅封装在一个端点中,并供你调用。...当 Facebook 将其发布到社区时,得到了大量的认同。现在随着越来越多的程序员用它构建 API,GraphQL 一直在快速增长。

    2K30

    什么是REST API

    不同的HTTP方法可以在任何端点上使用,这些方法映射到应用程序的创建、读取、更新和删除(CRUD)操作: HTTP方法CRUD行为GET读取返回请求数据POST创建创建一个新记录PUT 或者 PATCH...200 OK用于成功的请求,尽管当记录被创建时也可以返回201 Created 。...当发生错误时应该返回适当的状态码,比如说400 Bad Request,404 Not Found,401 Unauthorized等等。...多个请求和不必要的数据 RESTful APIs受到其实现的限制。响应可能包含比你需要的更多的数据,或者需要进一步的请求来访问所有数据。 考虑一个RESTful API,它提供对作者和书籍数据的访问。...REST的难题导致Facebook创建了GraphQL--一种网络服务查询语言。把它看作是网络服务的SQL:一个单一的请求定义了你所需要的数据以及你希望它如何返回。

    6.1K20

    安息吧 REST API,GraphQL 长存

    这就是为什么我们不能仅有一个 GraphQL 的服务器,我们还需要实现一个翻译运行时。 这个抽象层可以用任意语言编写,它定义了一个通用的基于图形的模式来发布它所代表的数据服务的功能。...REST API 通常是端点的集合,其中每个端点代表一个资源。因此,当客户端需要获取多个资源的数据时,需要对 REST API 进行多次往返,以将其所需的数据放在一起。...例如,客户端不能指定为该资源中的记录选择哪些字段。这意味着 REST API 服务将始终返回所有字段,而不管客户端实际需要哪些。GraphQL 针对这个问题定义的术语是超量获取不需要的信息。...这些 API 中的每一个最终都会变成一个具有常规 REST 端点 + 由于性能原因而制定的自定义特殊端点的组合。这就是为什么 GraphQL 提供了更好的选择。 GraphQL如何做到这一点?...这便是 GraphQL 设计哲学的伟大之处。UI 知道它需要的确切数据,并且提取出它所要求的数据是相当容易的。设计一个 GraphQL 查询只需从 UI 中直接提取用作变量的数据。

    3.4K30

    REST API有关幂等性等11条最佳实践

    如果您的端点返回顶级数组,您将需要一个全新的端点。 规则 #5:不要返回映射结构 我经常看到 JSON 响应中用于集合的映射结构。相反,返回一个对象数组。...当删除一个不存在的东西时,你可以简单地让 DELETE 返回 200(或 204)OK,这是有道理的,而且我认为这是 DELETE 可以接受的答案。...2、让客户选择 ID 如果客户端需要为每次提交选择一个唯一的幂等键,为什么不直接将其作为 ID 呢?...糟糕的选项:提供一个端点来列出最近的交易 如果 API 未提供任何有关幂等性的显式帮助,则这是客户端开发人员的解决方法: 每次提交之前,从服务器获取最近事务的列表。...有两个主要的思想流派: 1、返回错误 当客户端提交重复的幂等性密钥时,我喜欢返回 409 CONFLICT。

    1.1K20

    REST 十诫

    GET 方法 当希望读取数据时,你应该使用 GET 方法。该方法不是存储,不是更新,也不是改变数据。它只读取数据。这是一个非常简单的概念,任何人都不应感到困惑。...当构建 REST API 时,我推荐客户端以 的形式发送数据。这样我们就能保持一致,符合 JSON 精神,而且发送 JSON 数据可以让你轻松地做出真正复杂的请求。...从端点名称到输入参数,再到 JSON 键。 所以让我们从 API 端点开始。规则也非常的简单: 不要用动词,而是用名词。 用复数替代单数。...但我们在拒绝某些东西时,也要给用户一个清楚的原因,让他们明白为什么会这样,或者为什么在这种情况下没有发生。 任何优秀、聪明的 API 都能独立处理复杂的流程,而非依靠客户端。...这意味着,如果你不加载关系,就返回一个空数组,如果你不加载计数,就返回 0,等等。在建立优秀的 REST APIs 时,一致性是关键。

    67220

    REST API 设计最佳实践:如何构建、设计和使用 API ?

    因此我决定写篇文章分享一下,在设计 REST API 时的最佳实践。以下是关于设计优秀REST API 的一些建议、提示和指导,帮助您让消费者(以及开发人员)满意。 1....为什么?因为它非常适合所有类型的端点。 我可以看到 GET /book/2/ 是没问题的。但是 GET /book/ 呢?我们是在获取图书馆里唯一的那本书、其中几本还是全部?...在响应体中返回错误详情 当API服务器处理错误时,将错误详细信息包含在JSON主体中可以帮助使用者进行调试,这是是非常方便的,如果您还能说明哪些字段受到了错误的影响,那就更好了!...例如,如果你选择某个POST端点返回201 Created,那么对于每个POST端点都应使用相同的HTTP状态码。为什么?因为消费者不应该担心在哪种情况下哪个方法在哪个端点上会返回哪个状态码。...有一天,当我将REST API集成到我的一个项目中时,每次调用都收到HTTP 500内部错误。

    2.2K40

    13 个设计 REST API 的最佳实践

    但是,仅仅返回 JSON 数据格式的数据还是不够的,你还需要指定返回 body 的头部,比如 Content-Type,它的值必须指定为 application/json。...为什么呢?因为复数形式可以满足所有类型端点的需求。 单数形式的 GET /article/2/ 看起来还是不错的,但是如果是 GET /article/ 呢?...比如对于常见的提交表单,当遇到如下错误信息时: { "error": "Invalid payoad...."status": "success", "data": {} } 所以,虽然状态码是 200 OK,但我却不能绝对确定请求是否成功,事实上,当错误发生时,这个 API 会按如下代码片段返回响应...不要嵌套资源 使用 REST API 获取资源数据,通常情况下会直接获取多个或者单个,但当我们需要获取相关联的资源时,该怎么做呢?

    4.3K20

    GraphQL是API的未来,但它并非银弹

    如果是这种情况,GraphQL 的弃用模型对你一点帮助都没有。 使用 REST,你可以创建一个新端点或现有端点的另一个版本。问题是一样的,只是解决方案看起来有一点不同。...在 GraphQL 中,这是个开箱即用的特性。 另一方面,对于 BFF 方法,你不需要这样。只需要返回你需要的数据即可。...当我们讨论 GraphQL 中的类型安全时,其实我们的意思是,我们相信 GraphQL 服务器的行为会与自省查询响应保持一致。为什么我们不能同样信任接口定义规范呢?我想我们可以。...显然,REST API 用例也需要客户端中的逻辑来处理部分响应。这个逻辑与 GraphQL 用例中的逻辑几乎完全相同。 在 REST 响应中,你也可以返回有关失败原因的特定信息。...11 我的结论 当 Kyle 问“为什么要用 GraphQL”时,我想他实际上是在说“为什么要用 Apollo”。答案很简单。没有人愿意围绕 REST API 构建一个丰富的生态系统。

    2.6K10

    GraphQL:如何构建灵活的数据 API,让前后端握手言和?

    今天,我就来聊聊如何使用 GraphQL 构建一个灵活的数据 API,让开发变得更加顺畅! GraphQL:为什么比 REST 更灵活?...在 REST API 里,我们通常有多个固定的端点,比如:GET /users/123GET /users/123/postsGET /posts/456/comments每个端点返回固定的数据结构,前端如果需要组合数据...GraphQL 的出现,彻底颠覆了这种设计。它只有 一个端点(通常是 /graphql),但允许前端通过 查询语言 来指定自己需要的字段。...这意味着前端可以在一个请求中获取所有需要的数据,而不必额外请求多个端点。...当数据发生更新时,前端可以立即获取最新的内容,而无需不断发送查询请求。结语GraphQL 是一种极具灵活性的 API 设计方式,彻底改变了前后端数据交互模式。

    46510

    REST Assured Schema验证针对JSON和XML

    本文将指导您为JSON和XML设置REST Assured 验证Schema。 不熟悉schema验证? 它基本上确保从端点返回的JSON或XML响应与一组规则匹配。 规则在schema中定义。...为此,从端点获取xml响应并将其粘贴到XSD生成器中. 这将为您生成一个XSD文件。现在我们需要将该文件放到项目的类路径中。...1、 我们可以在src> main> resources文件夹中看到Schema文件 2、 当项目构建时,我们可以看到Schema文件出现在红色构建文件夹中 现在让我们来看看XML Schema验证的测试代码...然后,我们使用REST Assured方法matchesXsdInClasspath检查返回的xml是否符合我们的schema。...同样,我们需要首先生成一个Schema 。复制api返回的JSON,并将其粘贴到JSON Schema 生成器中。 同样,您需要将JSON模式文件放在类路径中,如下所示: ?

    1.7K50

    REST API 最佳实践

    在这篇文章中,我将带你了解创建 REST API 时需要遵循的一些最佳实践。这将帮助你创建最好的 API,并使你的 API 用户使用起来更容易。 0.什么是 REST API?...1.REST API 设计建议 1.用名词表示资源 当你设计一个 REST API 时,你不应该在端点路径中使用动词。端点应该使用名词,表示它们各自的作用。...REST API 时,您不需要强迫客户端迁移到新版本,如果他们不想迁移的话。...并且由于大部分的关系查询都与当前的登录用户有关,所以也可以直接在关系所属的资源中返回关系状态,如点赞状态就可以直接在获取文章详情时返回。...删除多个评论 5.小结 在这篇文章中,你了解了在创建 REST API 时需要记住的几个最佳实践。

    2.9K20

    PayPal大规模采用GraphQL的探索和实践

    我们通过构建收银台体验开启了我们的 GraphQL 采用之旅。当 我们用 GraphQL 构建收银台应用程序 时,我们看到了采用 GraphQL 的巨大好处,这成为我们的指路明灯。...我们正朝着统一的 GraphQL 网关迈进,以支持整个公司。 2 为什么 PayPal 需要 GraphQL?...当我们选择 GraphQL 时,我们正在寻找一种技术来帮助我们解决以下问题: 过度获取的数据:我们的 REST(代表性状态传输)APIs 发送了客户端需要的部分响应和一些无关数据。...避免多次请求:通常,为了调用一个需要特定参数的端点,例如/getProfileById/{id},我们必须预先请求调用其它端点,例如getUser{username}来返回id 等参数。...由于所有更新都发布到了 GraphQL 中的一个端点,因此客户端可以在需要时获取更新的资源,而无需重新集成到新版本。 集成时可以自由使用任何编程语言:原来 Braintree 并没有公共 API。

    4K20

    你确定你的 REST API 真的符合 REST 规范?

    现在,我们可以开始探索如何充分利用它们进行 API 的编写。 1. 为 API 编写单元测试 行为驱动开发(BDD)是开发 REST api 的理想选择。...不过,当一个模型需要几个不同的 JSON 表示,或者当对象包含嵌套的实体关联时,就比较复杂了。这个时候,你可能会开始通过继承、重用和序列化器链接等特性来解决这些问题。...例如,它接受一个模型实例或一个数组,以及所需的模式,然后遍历它以构建序列化的对象。 因此,假设我们需要从 API 返回博客中有帖子的所有用户,包括对这些帖子的评论。...当你自动生成 CRUDL 端点时,tinyspec 使用 New 和 Update 后缀。...基于客户端类型分离端点 通常,相同的端点会根据客户端类型或发送请求的用户角色返回不同的数据。例如,对于移动应用程序用户和后台管理人员来说,GET /uses 端点可能存在很大的不同。

    2K20

    微服务构建持久API的7大规则

    API参数变化或返回结果变化而导致客户端行为不一致,依赖客户端需要大量重构,团队不能专注在创新型工作 3. API 易用性差, 使用方技术栈不统一,各自进行API抽象及封装,容易出错 4. ...当我们创建SparkPost API时,我们试着不要太过学究式地使用纯粹的REST模型,而是选择易于使用。下面是两个可能不遵循RESTful最佳实践的示例: 1. ...当工程师确定它已经通过了我们的测试时,我们就会自动将变更部署到生产中。 我们很早就决定让我们的API在使用惯例和如何管理变更方面保持一致。...文档化的约定让我们可以减少不一致,并且更容易定义每个新的端点。以下是我们建立的一些约定: · 在单词命名时,URL路径是带有连字符的小写字母,并且区分大小写。...有一些很好的API更改对用户是有益的,并且不会破坏它们的集成,包括: · 一个新的API资源、端点或现有资源上的操作。 · 一个新的可选参数或JSON字段。 · 在JSON响应主体中返回的新字段。

    1.1K00

    使用 GraphQL 和 Ballerina 操作多个数据源

    推出 GraphQL 的目的是为了支持更灵活、更高效的数据访问行为。下面列出了选择 GraphQL 而不是 REST 的一些关键原因。...避免过度获取或获取不足 过度获取意味着获取的信息超过了你的需要。这在使用 REST 时非常常见,因为它总是从给定的端点返回固定的数据集,而客户端实际上具有特定的数据需求。...客户端可以快速进行产品迭代 通常,REST API 需要根据客户端应用程序需要的视图来提供端点。如果客户端应用程序发生了变化,它需要的数据可能比以前多也可能比以前少。...在创建所需的记录之前,需要分析一下根据指定 ISBN 从 Google Books API 获取的的 JSON 响应消息的格式。它返回一个 JSON 对象,其中包含了一个“items”的数组。...你可以在初始化客户端时提供配置信息,不过本例使用了 Ballerina 的配置功能来提供配置信息。用户可以根据不同的环境通过外部输入来改变系统行为,而且敏感数据(如密码)不会通过代码暴露出来。

    3.7K20

    4种主流的API架构风格对比

    当服务端实现 REST 的某些功能和 RPC 的某些功能时,在 REST 和 RPC 之间确实可能存在这样一个灰色区域。但 REST 是基于资源或名词的,而不是基于动作或动词。...在用于连接不需要查询灵活性的资源驱动型应用时,REST 是一种非常有效的方法。 GraphQL:仅请求所需要的数据 REST API 需要被多次调用才能返回所需要的资源。...(如何从 GraphQL 端点仅获取所需要的数据,图源:Mohit Tikoo) 如今,GraphQL 的生态系统正在蓬勃发展,出现了例如 Apollo、GraphiQL 和 GraphQL Explorer...1 GraphQL 的工作机制 GraphQL 从构建模式(Schema)开始。模式是对于用户可以在 GraphQL API 中进行的所有查询及其返回的所有类型的描述。...详细的错误消息:GraphQL 以类似于 SOAP 的方式提供所发生错误的详细信息。它的错误消息包括所有解析器,并指向确切的发生故障时的查询部分。

    3K30
    领券