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

Web 应用开发进化论

如果 SPA 仅从 Web 服务器发送一个请求,当用户从一个页面导航到同一域中的另一个页面(例如 conardli.top/about 到 conardli.top/home)而不请求另一个 HTML...这会影响 SPA 的用户体验,因为将 JavaScript 文件从 Web 服务器传输到浏览器的初始加载时间会增加。加载完所有文件后,用户可以从一个页面导航到另一个页面而不会中断。...REST API 负责连接客户端和服务器应用程序,而无需使用相同的编程语言去实现。他们只需要提供一个用于发送和接收 HTTP 请求和响应的库。...到目前为止讨论的技术,全栈应用程序将客户端和服务器应用程序分离。两者都通过精心挑选的 API(例如 REST 或 GraphQL)进行通信。...在 Next.js 中,你使用 React 实现每个页面(例如 /about、/home)。当用户从一个页面导航到另一个页面时,只有一小部分服务器端渲染的 React 被发送到浏览器。

6K10

网关知识总结

例如,如果一个网络使用 TCP/IP 协议,而另一个网络使用 UDP 协议,那么这两个网络之间就需要一个能够将 TCP/IP 数据包转换为 UDP 数据包的网关。...例如,如果一个网络使用 TCP/IP 协议,而另一个网络使用 IPX/SPX 协议,那么这两个网络之间就需要一个能够将 TCP/IP 数据包转换为 IPX/SPX 数据包的协议网关。...例如,如果一个应用程序使用 Web Services 协议,而另一个应用程序使用 FTP 协议,那么这两个应用程序之间就需要一个能够将 Web Services 数据转换为 FTP 数据的应用程序网关。...它可以根据网络层的信息将数据从一个网络转发到另一个网络。路由网关可以实现数据的路由选择、拥塞控制、负载均衡等功能。...例如,如果数据从一个使用 TCP/IP 协议的网络发送到另一个使用 UDP 协议的网络,那么就需要将 TCP/IP 数据包转换为 UDP 数据包。

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

    『数据密集型应用系统设计』读书笔记(四)

    尤其将关注这些格式如何应对模式变化,以及它们如何对新旧代码数据需要共存的系统提供支持。然后将讨论如何使用这些格式进行数据存储和通信。...Protocol Buffers(只有一种二进制编码格式)对上述例子进行相同的数据进行编码,只需要 33 个字节,结果如下: 数据流的类型 上面说过,无论何时你想要将某些数据发送到不共享内存的另一个进程...数据可以通过多种方式从一个流程流向另一个流程: 通过数据库 通过服务调用 通过异步消息传递 数据库中的数据流 在数据库中,写入数据库的过程对数据进行编码,从数据库读取的过程对数据进行解码。...由于这些原因,REST 似乎是公共 API 的主要风格。 RPC 框架的主要重点在于同一组织拥有的服务之间的请求,通常在同一数据中心内。...通常情况下,消息代理的使用方式如下: 一个进程将消息发送到指定的队列或主题,代理确保将消息传递给那个队列或主题的一个或多个消费者或订阅者。在同一主题上可以有许多生产者和许多消费者。

    1.4K50

    API自动化测试指南

    API测试允许测试绕过GUI并将请求直接发送到应用程序的后端或服务,并在验证响应内容以确保按预期运行的同时收到响应。 ? 上面的示例通常称为客户/服务器关系。...客户端通过请求资源来发出请求,然后请求出去寻找将满足请求的服务器。服务器找到所需的资源,然后将响应发送回客户端。 为什么API测试很重要?...API负载测试 API测试的另一个好处是,您可以利用相同的功能性API自动测试来在性能测试工作中使用。很多公司使用JMeter进行负载测试,而这些测试用例都是基于API功能测试。...因此,API测试脚本是性能测试工作流程中的一大优势。 API测试工具如何选择 您可以使用许多工具来帮助您进行API测试自动化。 如何测试Web服务 测试任何其他应用程序一样!...HTTP方法具有以下选项(前四个方法是最常见的): GET –从指定来源检索数据 POST –将新数据发送到指定的源 PUT –更新指定来源的信息 DELETE –从指定的源中删除数据 TRACE –要求代理人声明自己

    2.3K00

    gRPC-Web迈向GA

    在右侧的REST世界中,Web应用程序将HTTP发送到后端REST API服务器,然后该服务器将发送Protocol Buffers到其他后端服务。 需要明确的是,REST应用程序本身没有任何问题。...使用REST API服务器构建了大量非常成功的应用程序,这些服务器使用非HTTP协议与后端服务进行通信。...明亮的橙色线不仅仅是一个不同的协议 - 它是一个独立的工作和认知负荷来源,你现在可以很容易地变成亮绿色。 使用gRPC-Web的优点 随着时间的推移,gRPC-Web将提供更广泛的功能集。...但我可以看到它从一开始就提供了一些巨大的便利: 端到端gRPC - 如上所述,使用gRPC-Web,您可以正式从堆栈中删除REST组件并将其替换为纯gRPC,从而使您能够使用Protocol Buffers...从一开始,gRPC-Web将支持 Envoy 作为默认服务代理,它具有内置的 envoy.grpc_web 过滤器,只需几行复制和可配置配置即可应用。

    1.3K30

    每个Java开发人员应该知道的五种RESTful客户端代码

    如果您正处于应用程序开发阶段,您可能需要使用JAX-RS,Spring或类似的框架。...以下是每个Java开发人员应该知道的五种: 1.Curl Curl是一个基于Unix的实用程序,它使开发人员能够从命令行调用URL并生成有关REST响应结果的信息。...将curl用作简单GET请求的RESTful Web服务客户端的语法是: $ curl -X GET --header "text:Easter" --header "language:fr" http...的REST客户端 开发人员将使用诸如Jakarta EE 或Spring Boot之类的Web开发框架来访问远程API,因为这两个框架都具有用Java编写RESTful Web服务客户端的内置库。...Spring Boot,Jersey 和JAX-RS在API方面略有不同,但它们足够相似,开发人员可以轻松地从一个转换到另一个。

    3.3K30

    Oracle GoldenGate微服务架构

    可以出于以下目的配置Oracle GoldenGate: 从一个数据库中静态提取数据记录,并将这些记录加载到另一个数据库中。...只有在以下情况中提到的MA版本不适用于该平台时,才可以将Oracle GoldenGate安装和配置为使用Oracle GoldenGate Classic体系结构:从一个数据库中静态提取数据记录,并将这些记录加载到另一个数据库中...Oracle GoldenGate MA包含五个主要组件。下图说明了复制过程如何在安全的REST API环境中运行。...这些接口允许客户端使用支持REST API接口的REST JSON-RPC调用向Administration Server发出命令和控制指令。...您可以使用其他嵌入式Web应用程序监视性能指标,并使用数据调整部署以实现最佳性能。所有Oracle GoldenGate 进程都将指标发送到Performance Metrics Server。

    2.2K20

    在微服务中启用分布式跟踪 | 微服务系列第十篇

    在最高级别,从一个微服务到另一个微服务的跟踪,讲述了事务或请求在通过基于微服务的系统传播时的路径。 分布式跟踪特指跨越微服务边界跟踪请求流。...这意味着Web应用程序调用API网关的范围包括API网关调用微服务投票应用程序所花费的所有时间。...它还包括微服务投票应用程序调用CouchDB服务并将结果返回API网关所需的时间,然后API网关将最终结果返回给Web应用程序。...OpenTracing主要关注三个方面:它为开发人员提供了一种简单,标准化,独立于供应商的机制,可以将跟踪引入基于MicroProfile的微服务中,它提供了标准化跟踪数据如何从一个微服务传输到另一个微服务的解决方案...从任何传入的JAX-RS请求中提取SpanContext信息。 为任何传入的JAX-RS请求启动Span,并在请求完成时完成Span。 将SpanContext信息注入任何传出的JAX-RS请求。

    1.6K30

    标准化API设计流程!

    通信协议 架构样式定义了应用程序编程接口(API)的不同组件如何相互交互。因此,它们通过提供设计和构建API的标准方法,确保了效率、可靠性和与其他系统的轻松集成。...REST和GraphQL都是公开数据和支持现代应用程序的有效选择。 gRPC是如何工作的?...步骤2 ~ 4:订单服务(gRPC客户端)接收REST调用,对其进行转换,并对支付服务进行RPC调用。gRPC将客户端存根编码为二进制格式,并将其发送到低级传输层。...使用Webhook时需要注意三点: 我们需要设计一个合适的API供外部服务调用。 出于安全原因,我们需要在API网关中设置适当的规则。 我们需要在外部服务注册正确的URL。 如何提高API性能?...像Redis这样的缓存将数据存储在内存中,因此数据访问比数据库快得多。 有效载荷压缩 可以使用gzip等压缩请求和响应,以便传输的数据大小要小得多。这加快了上传和下载的速度。

    1.2K10

    新一代同步引擎如何解决前端问题

    在三层架构下,更改会触发客户端向 API 服务器发送请求,API 服务器将请求存储在 数据库 中。...Aaron Boodman 解释说,如果另一个客户端调用并发出请求,API 服务器会从数据库中取出并发送响应。...Boodman 解释说,它的速度之所以快,是因为服务器在客户端请求之前将信息发送到客户端,以便在客户端需要时可用。 同步引擎的问题 同步引擎以前没有被广泛部署的一个原因是市场上没有通用的同步引擎。...它被前端云提供商 Vercel 和部署工具 SST 使用。 但他补充说,将 Replicache 集成到产品中很困难。启动它需要巨大的设置成本。多年来他们看到的另一个问题是它不够通用。...该查询可以针对一个丰富的数据集。虽然开发者今天可以使用 REST 架构做到这一点,但不同之处在于 Zero 会同步该查询,使其能够实时更新。 Zero 是“建立在一个新的基础上。

    32010

    gRPC vs REST:两种API架构风格的对比

    API 的工作机制 假设我们正在预订一个酒店。我们在笔记本电脑上访问酒店预订页面,连接到互联网的这个页面会将数据(我们的请求)发送到服务器。...API 指定了一个应用程序(网页或移动应用)可以向另一个应用程序发出的请求类型,并进一步确定:如何发出这些请求;使用哪些数据格式;以及用户必须遵循的实践。...但构建 API 时主要有 3 种模型:RPC(远程过程调用)、REST(表征状态传输)和 GraphQL。在本文中,我们将重点介绍前两个。 2什么是 RPC? RPC 使用客户端 - 服务器模型。...请求服务器(换句话说就是客户端)请求一条消息,该消息由 RPC 转换并发送到另一台服务器。服务器收到请求后将响应发送回客户端。当服务器处理这个调用时,客户端被阻塞,服务器内部的消息传递被隐藏。...与 REST API 一样,RPC 还建立了交互规则以及用户如何提交“调用”(请求)以调用方法与服务通信和交互的机制。 3什么是 REST?

    2.1K30

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

    两个单独的应用程序需要中介程序才能相互通信。因此,开发人员经常需要搭建桥梁——也就是应用程序编程接口(API),来允许一个系统访问另一个系统的信息或功能。...1 RPC 的工作机制 客户端调用一个远程的过程,将参数和附加信息序列化为消息,然后将消息发送到服务端。服务端在接受到消息后,将信息的内容反序列化,执行所请求的操作,然后将结果发送回客户端。...它们庞大的微服务系统要求内部通信在使用短消息的情况下也保持清晰。 命令 API。RPC 是用于将命令发送到远程系统的正确选择。...RESTful 体系结构应该遵守如下六个体系结构约束: · 统一接口:无论设备或应用程序类型如何,都可以采用统一的方式与给定的服务端进行交互; · 无状态:请求本身包含处理该请求所需要的状态,并且服务端不存储与会话相关的任何内容...REST 的响应包含的数据会过多或不足,通常会导致客户端需要发送另一个请求。 4 REST 的用例 管理 API。在系统中,专注于管理对象并面向许多使用者的 API 是最常见的 API 类型。

    3K30

    【Java 进阶篇】Java Request 请求转发详解

    在Java Web开发中,请求转发(Request Forwarding)是一种常见的技术,用于将请求从一个Servlet转发到另一个Servlet或JSP页面。...这种技术在Web应用程序中起着非常重要的作用,可以用于实现模块化、重用代码以及构建更加灵活的应用程序。本文将详细解释什么是请求转发,为什么它重要,如何使用它,以及提供示例代码来说明其工作原理。...什么是请求转发? 请求转发是指将一个HTTP请求从一个Servlet转发到另一个Servlet或JSP页面的过程。...资源位置:请求转发只能转发到相同Web应用程序中的资源,而重定向可以将请求发送到不同Web应用程序或外部URL。...通过RequestDispatcher对象,开发人员可以将请求从一个Servlet转发到另一个Servlet或JSP页面,从而实现更好的代码组织和管理。希望本文对初学者理解和使用请求转发有所帮助。

    2.3K30

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

    两个单独的应用程序需要中介程序才能相互通信。因此,开发人员经常需要搭建桥梁——也就是应用程序编程接口(API),来允许一个系统访问另一个系统的信息或功能。...RPC 的工作机制 客户端调用一个远程的过程,将参数和附加信息序列化为消息,然后将消息发送到服务端。服务端在接受到消息后,将信息的内容反序列化,执行所请求的操作,然后将结果发送回客户端。...它们庞大的微服务系统要求内部通信在使用短消息的情况下也保持清晰。 命令 API。RPC 是用于将命令发送到远程系统的正确选择。...REST 的响应包含的数据会过多或不足,通常会导致客户端需要发送另一个请求。 REST 的用例 管理 API。在系统中,专注于管理对象并面向许多使用者的 API 是最常见的 API 类型。...GraphQL 是一种语法,它描述了如何进行精确的数据请求。有些应用程序的数据模型具有许多相互引用的复杂实体,在这种情况下,实现 GraphQL 是值得的。 ?

    3K20

    python web应用_如何使用Python将通知发送到Web应用

    参考链接: Python中的桌面通知程序 python web应用  by Lucas Hild   卢卡斯·希尔德(Lucas Hild)     如何使用Python将通知发送到Web应用 (How...在本教程中,我们将使用OneSingal将通知发送到我们的Web应用程序。 OneSignal是功能强大的工具,提供了用于推送通知的简单界面。...在应用程序的设置区域中,有一个名为“密钥和ID”的标签。 复制两个密钥以供以后使用。    Important: Do not share you REST API Key....要访问它,我们需要发送HTTP请求。 因此,我们将使用一个称为request的库。 要安装它,可以使用Python的包管理器pip。    ...OneSignal希望验证只有您可以将通知发送到您的网站。 因此,您必须使用OneSignal的Rest API密钥添加HTTP标头。

    3.5K00

    API 架构选哪种?SOAP、REST、GraphQL 与 RPC 全方位对比分析

    因此,开发人员经常需要搭建桥梁——也就是应用程序编程接口(API),来允许一个系统访问另一个系统的信息或功能。...RPC 的工作机制 客户端调用一个远程的过程,将参数和附加信息序列化为消息,然后将消息发送到服务端。服务端在接受到消息后,将信息的内容反序列化,执行所请求的操作,然后将结果发送回客户端。...它们庞大的微服务系统要求内部通信在使用短消息的情况下也保持清晰。 命令 API。RPC 是用于将命令发送到远程系统的正确选择。...REST 的响应包含的数据会过多或不足,通常会导致客户端需要发送另一个请求。 REST 的用例 管理 API。在系统中,专注于管理对象并面向许多使用者的 API 是最常见的 API 类型。...GraphQL 是一种语法,它描述了如何进行精确的数据请求。有些应用程序的数据模型具有许多相互引用的复杂实体,在这种情况下,实现 GraphQL 是值得的。

    36920

    REST API面临的7大安全威胁

    对于使用REST作为客户机或服务器的应用程序,另一方通常完全控制资源表示,并可以注入任何有效负载来攻击资源处理(例如,获取任意Java代码或系统命令执行)。...REST框架中的分层转换序列意味着链中的一个薄弱环节可能使应用程序变得脆弱。 7大REST API安全威胁 1....即使禁用了用于应用程序身份验证的API密钥(或访问令牌),也可以通过标准浏览器请求轻松地重新获取密钥。因此,使当前的访问令牌无效不是一个长期的解决方案。...将验证器放在应用程序上,并尝试对发送到REST API的请求使用API签名。为您的API创建自动安全测试也很好,这样可以看到没有参数篡改影响您的REST API。...除非使用TLS,否则相当常见的“中间人”攻击的风险仍然很高。在api中同时使用SSL和TLS,特别是在API公开的情况下。 结论 在开发REST API时,您必须从一开始就注意安全性。

    2.7K20

    Apache Tika命令注入漏洞挖掘

    (https://tika.apache.org/) Apache Tika有几个不同的组件:Java库,命令行工具和自带REST API的独立服务器(tika-server)。...此攻击特别针对独立服务器,它通过REST API公开https://wiki.apache.org/tika/TikaJAXRS。...为Java中已知的执行操作系统命令的函数编写Grepping代码是另一个不错的选择。最后,搜索tika-server代码的各个部分,我们可以假设这些报头是某种HTTP请求。...可以看到这里正在使用这个函数,并且在请求中检查了前缀头以确定如何调用该函数。然后,所有需要的参数都从HTTP请求传递到“processHeaderConfig”函数。...但是在调用`“doOCR”`之前,还有另一个函数在`“config.getTesseractPath()”`字符串上调用,该字符串只执行该命令(目的是检查是否被调用的应用程序是有效的应用程序)。

    2.1K20

    IOT(物联网)的七大通信协议

    “IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。...这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。...(2)客户端和服务器之间的交互在请求之间是无状态的。 (3)在服务器端,应用程序状态和功能可以分为各种资源,它向客户端公开,每个资源都使用 URI 得到一个唯一的地址。...Java消息服务应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。...JMS 能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JMS客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。

    1.9K10

    API 与 SDK:有什么区别?

    前言 什么是 API? 什么是 SDK? 两者之间有何关系? 欢迎来到本次的每周一问系列。 既然点进来了,相信你或多或少都听说过这两个名词了,因此,在为你解答之前,让我们先从一个例子出发。...通常,OCR 应用的后端服务都会部署在云上,那么我们应该如何在移动应用程序与基于云的服务之间进行通信呢? 这就是 API 和 SDK 的用武之地了。...以 Java 为例,当你想要实现一个数组排序的功能时,你是会先手写一个排序算法,还是直接使用Arrays.sort()函数?我想你心里是有答案的。...抽象 其次,我们要理解,API 的另一个重要特点——抽象。 抽象指的又是什么?...标准化 API 是标准化的,这意味着存在有关如何定义 API 的行业标准,比如 SOAP、REST、GraphQL 等。

    2.6K10
    领券