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

服务端返回 304 如何做到的?

但具体流程是怎么样的呢?服务端和客户端(例如:浏览器)是怎么交互的呢? 服务端怎么知道客户端内容没有变化(毕竟每个客户端得到的内容可能不一样),直接返回 304 呢?...Last-Modified/If-Modified-Since 通常服务器知道你所请求的数据的最后修改时间,并且 HTTP 为服务器提供了一种将最近修改数据连同你请求的数据一同发送的方法。...如果数据从那时起没有改变,服务器将返回一个特殊的 HTTP 状态代码 304,这意味着 “从上一次请求后这个数据没有改变”。 这有啥好处呢?...服务器简单地返回 304: Not Modified,因此浏览器就会知道从本地缓存加载页面。...假设服务端通过计算得到第二次请求数据的 hash 一样,就代表数据没有变化,此时将直接返回 304 状态码。 好了,全文完,今天你学到了吗?

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

    内网的服务如何在外网可访问

    工作中经常会遇到在内网中的服务如何被外网访问的问题。 比如,自己电脑上有个服务,想给外网的其他人临时看下,怎么办,难道还要去外网服务器上再部署一份?...比如,公司内网有一套完整的工具链,可以用来打包、发版本什么的,有一天你在家里,突然发生紧急情况,要发个版本,怎么办,难道还要去公司一趟? 今天写了个工具,完美解决了这些问题。...它可以随时把你内网的服务端口映射到外网服务器上,其他人要访问,只要改个ip就好。...项目已经开源到GitHub: https://github.com/wangyuntao/duck 当然,类似工具或项目还有很多,但是自己写的,总能让自己最满意。

    3.3K40

    简明入门讲义——如何实现可扩展的 Web 服务

    服务器 可扩展的应用服务器(Application Server)集群藏身于负载均衡器(Load balance,LB)背后,LB 将负载(即用户请求)平均地分配到各个组或集群的应用服务器上,此时负载均衡器可能运行在...现在,小明向你的 Web 服务发起请求,第一个请求可能被分配到服务器 A,第二个请求可能被分配到服务器 C,要求小明每次请求总能获得相同的返回结果,无论请求最终落到哪个服务器上。...我们可以让负载均衡器监听 HTTP 层(Layer 7,应用层) 的请求,当小明第一次请求分配到服务器 A 时,产生一个随机数 r,将它写到 Cookie 中随请求返回。...但独立存储也存在自己的问题,最明显的,怎么解决单点问题(Single Point Of Failure)?这个后文再谈。 现在你的关键问题是,如何使多个应用服务器发布时都存有同一份代码?...想想看如果是第一种,你还需要分开缓存多个查询,下次读缓存还要读两次,再组装数据返回给用户,太麻烦了,用户可等不及! 四. 异步 做完了上面的三个步骤,用户可能还在抱怨我不想等!

    1.1K00

    简明入门讲义——如何实现可扩展的 Web 服务

    服务器 可扩展的应用服务器(Application Server)集群藏身于负载均衡器(Load balance,LB)背后,LB 将负载(即用户请求)平均地分配到各个组或集群的应用服务器上,此时负载均衡器可能运行在...现在,小明向你的 Web 服务发起请求,第一个请求可能被分配到服务器 A,第二个请求可能被分配到服务器 C,要求小明每次请求总能获得相同的返回结果,无论请求最终落到哪个服务器上。...我们可以让负载均衡器监听 HTTP 层(Layer 7,应用层) 的请求,当小明第一次请求分配到服务器 A 时,产生一个随机数 r,将它写到 Cookie 中随请求返回。...但独立存储也存在自己的问题,最明显的,怎么解决单点问题(Single Point Of Failure)?这个后文再谈。 现在你的关键问题是,如何使多个应用服务器发布时都存有同一份代码?...想想看如果是第一种,你还需要分开缓存多个查询,下次读缓存还要读两次,再组装数据返回给用户,太麻烦了,用户可等不及! 四. 异步 做完了上面的三个步骤,用户可能还在抱怨我不想等!

    1K30

    聊聊如何利用服务定位器模式按需返回我们需要的服务实例

    前言 什么是服务定位器模式服务定位器是一个了解如何提供各种应用所需的服务(或组件)的对象。在服务定位器中,每个服务(或组件)都只有一个单独的实例,并通过ID 唯一地标识。...何时可以考虑使用服务定位器模式服务定位器模式的目的是按需返回服务实例,当依赖是按需的或需要在运行时查找时,我们可以使用服务定位器模式将客户端与具体实现解耦。...服务定位器包含的组件客户端:在运行时需要服务的消费者。 服务定位器:服务定位器负责将服务按需返回给客户端。它抽象了服务的查找或创建。 初始上下文:它创建、注册和缓存服务。这是查找和创建的起点。...服务工厂: 服务工厂为服务提供生命周期管理,支持创建、查找或删除服务。服务:客户所需服务的具体实现。服务定位器执行流程图片下面我们就以一个模拟发送短信的例子,来体验一把服务定位器模式。...,服务定位器将一组职责相似的服务内聚到了一起,并实现服务提供方、服务使用方完全的解耦,上面举的例子也可以看成一种策略+工厂模式的具体实现。

    37920

    聊聊如何利用服务定位器模式按需返回我们需要的服务实例

    01 什么是服务定位器模式 服务定位器是一个了解如何提供各种应用所需的服务(或组件)的对象。在服务定位器中,每个服务(或组件)都只有一个单独的实例,并通过ID 唯一地标识。...02 何时可以考虑使用服务定位器模式 服务定位器模式的目的是按需返回服务实例,当依赖是按需的或需要在运行时查找时,我们可以使用服务定位器模式将客户端与具体实现解耦。...03 服务定位器包含的组件 客户端:在运行时需要服务的消费者。 服务定位器:服务定位器负责将服务按需返回给客户端。它抽象了服务的查找或创建。 初始上下文:它创建、注册和缓存服务。...void testAliyunSms(){ SmsRequest smsRequest = SmsRequest.builder() .message("模拟使用阿里云短信发送...,服务定位器将一组职责相似的服务内聚到了一起,并实现服务提供方、服务使用方完全的解耦,上面举的例子也可以看成一种策略+工厂模式的具体实现。

    26730

    可落地的DDD(3)-如何利用DDD进行微服务的划分

    摘要 前面两篇介绍了DDD的目标管理、DDD的工程结构调整。这篇讨论微服务的划分。微服务是目前后端比较流行的架构体系了,那么如何做好一个微服务的划分?一个微服务的粒度应该是多大呢?...这篇主要介绍如何结合DDD进行领域划分。 工程结构代码 上篇介绍了可落地的DDD的(2)-为什么说MVC工程架构已经过时很多朋友留言说,有没有sample code,要不然太湿了,不是很明白。...服务之间的调用需要写rpc client接口,需要发版本,因为同时开发的人多,经常发生版本混乱,依赖问题。服务上线也很头疼,改一个小需求,需要部署多个服务。微服务一个很重要的点是去耦合,可独立部署。...如何解决 不拆分单体应用不知道,一拆分问题一大堆。那么我们是怎么解决的呢?下期再见。...相关阅读可落地的DDD(1)-目标讨论可落地的DDD的(2)-为什么说MVC工程架构已经过时 关注【方丈的寺院】,第一时间收到文章的更新,与方丈一起开始技术修行之路

    97440

    如何使用Retrofit获取服务器返回来的JSON字符串

    有关Retrofit的简单集成攻略,大家可以参考我此前的一篇文章 有关更多API文档的查阅请大家到Retrofit官网查看。...在大家使用网络请求的时候,往往会出现一种情况:需要在拿到服务器返回来的JSON字符串,而Retrofit会默认将Json解析,而又没有直接暴露出拿到Json字符串的方法,经过在网上一定的查阅,再次给大家一个简单的办法...以下是我们在Api接口中的定义方法 //以前我们使用我们定义好的POJO或javabean类作为callback的泛型,以便Retrofit帮我们解析 @POST("/interface/xxxxxx"...,只需简单一行代码,就能拿到服务器返回的JSON字符串了 ZhixueApiUtil.getInstance().getZhixueApi().getCouponList(new Callback的API。

    4.3K100

    可落地的DDD(4)-如何利用DDD进行微服务的划分(2)

    摘要 在前面一篇介绍了如何通过DDD的思想,来调整单体服务内的工程结构,为微服务的拆分做准备。同时介绍了我们在进行微服务拆分的时候踩过的一些坑。 这篇介绍下我们最终的方案,不一定对,欢迎留言讨论。...服务之间的调用需要写rpc client接口,需要发版本,因为同时开发的人多,经常发生版本混乱,依赖问题。服务上线也很头疼,改一个小需求,需要部署多个服务。微服务一个很重要的点是去耦合,可独立部署。...三个比较突出的问题,反应出的共性问题就是 服务边界不清晰 微服务的边界不清晰,起因肯定是标准定义的不够准确 服务之间依赖多了 微服务的一个重要特征就是自治性,如果依赖的服务多了,那么我们就享受不到微服务带来的好处...微服务的划分 从限界上下文中抽出微服务,一个微服务中包含了多个领域。 另外我们遗弃了之前的UI服务,所有微服务可以直接和前台交互,这样可以有效的减少服务的依赖。...相关阅读 可落地的DDD(1)-目标讨论 可落地的DDD的(2)-为什么说MVC工程架构已经过时 可落地的DDD(3)-如何利用DDD进行微服务的划分 关注【方丈的寺院】,第一时间收到文章的更新,与方丈一起开始技术修行之路

    81020

    如何构建可持续的ChatGPT高性能服务器端架构?

    建立可持续的服务器端架构,不仅可以保障ChatGPT的稳定性和可靠性,还有助于减少能源消耗、降低成本和支持企业的可持续发展战略。因此,本文将探讨如何构建可持续的ChatGPT高性能服务器端架构。...类似地,可以考虑如何高效地将其他能力融入基于预训练大模型的 ChatGPT,并结合更多的场景进行调教。...预计服务将处理多少数据? 3、设备类型和平台:用户将使用哪些设备和平台来访问服务? 二、选择正确的基础架构 选择正确的基础架构对于构建可持续的服务器端架构至关重要。...三、设计可扩展的架构 在设计你的服务器端架构时,你需要考虑如何扩展它以处理更多的流量和用户。其中一些关键考虑因素包括: 1、横向扩展:这是向系统添加更多服务器以处理更多流量和用户的过程。...可持续的ChatGPT高性能服务器端架构需要考虑多个因素,包括用户需求、基础架构选择、可扩展性设计以及安全和可靠性保障。通过综合评估这些要素并采取相应的措施。

    1.1K10

    如何在kubernetes中实现分布式可扩展的WebSocket服务架构

    如何在kubernetes中实现分布式可扩展的WebSocket服务架构 How to implement a distributed and auto-scalable WebSocket server...在讨论如何解决该问题之前,需要明确连个目标: 分布式约束:系统必须保证发送方的消息能够被正确转发到期望的接收方,即使二者并没有注册到相同的实例上。...rendezvous哈希的一个特点是,当添加或删除后端实例时,会改变函数的参数I,函数的返回值只会影响一部分数据(如果实例从N-1扩展为N,则平均影响1/N的数据)。...配置一个基本的Websocket服务监听连接请求,并根据rendezvous哈希计算(客户端的clientId)的结果将请求路由到后端signaling实例,最后将响应返回给客户端。...当返回的实例与当前客户端注册的不一致,则负载均衡器只会断开与该客户端相关的 负载均衡器-signaling 之间的WebSocket,并重新建立一条到正确的signaling实例的 负载均衡器-signaling

    1.5K50

    服务网格和性能优化:介绍如何通过服务网格提高微服务架构的性能和可扩展性

    在微服务架构日益成为主流的今天,如何提高其性能和可扩展性成为了许多开发者和企业关注的核心问题。服务网格作为微服务的流量控制和管理层,为我们提供了强大的性能优化工具。...在这篇技术博客中,我将带你探索如何通过服务网格提高微服务的性能,包括流量管理、安全加速、负载均衡等。对于所有关注微服务优化和云原生技术的读者,这是一篇不容错过的文章!...引言 微服务架构提供了强大的模块化和可扩展性,但随之而来的是性能和管理的挑战。服务网格作为一个解决方案,帮助我们更好地管理和优化微服务之间的通信,从而提高整体性能。 正文 1. 什么是服务网格?...服务网格是一个专为微服务应用设计的基础设施层,它可以处理服务间的通信,提供安全、负载均衡、故障恢复和度量等功能。 1.1 服务网格的主要组件 控制平面:负责管理和配置代理,以及执行策略。...可扩展性和服务网格 可扩展性是微服务架构的关键优势之一,服务网格进一步加强了这一点。 3.1 动态服务发现 随着服务实例的增加或减少,服务网格可以动态地发现并调整流量路由。

    31810

    服务网格中如何设计可观测性以降低故障定位成本? -基于Istio与Envoy的实践路径

    在微服务架构中,服务间依赖复杂度呈指数级增长,传统日志与指标监控难以快速定位根因。服务网格通过无侵入式代理(如Envoy)和统一遥测体系,将可观测性能力下沉至网络通信层,实现端到端链路可视化。...本文结合Istio实践,探讨如何通过分布式追踪、动态路由监控和智能告警设计,降低故障定位成本。   1....配置动态管理流量策略:   连接池限制:通过`maxConnections`、`maxRequestsPerConnection`控制上游并发压力;   异常检测:若服务连续返回5XX错误超过阈值(如7...3.2 异常流量治理   速率限制:通过`QuotaSpec`限制单用户/API的请求频率,防止突发流量压垮后端;   故障注入:在测试环境中模拟延迟/错误,验证系统容错能力。  ...未来,随着AI技术融入异常检测(如基于图神经网络的依赖关系预测),服务网格可观测性将向主动运维演进。

    27310

    常用的工程测量仪器有哪些?

    ;预留一路可调电源输出为模拟传感器定时供电;程控多路DAC输出,可以用于将振弦频率信号实时转换为模拟信号输出。...并能为建立数字地面模型提供解析数据,使地面测量趋于自动化,还可对活动目标做跟踪测量,例如对于港口工程中的船舶进出港口的航迹观测。陀螺经纬仪将陀螺仪和经纬仪组合在一起,用以测定真方位角的仪器。...通过观测,可定出真北方向。陀螺经纬仪主要用于矿山和隧道地下导线测量的定向工作。有的陀螺经纬仪用微处理机进行控制,自动显示测量成果,具有较高的测量精度。激光陀螺经纬仪则具有精度较高、稳定和成本低的特点。...利用激光束方向性好、发射角小、亮度高、红色可见等优点,形成一条鲜明的准直线,做为定向定位的依据。在大型建筑施工,沟渠、隧道开挖,大型机器安装,以及变形观测等工程测量中应用甚广。...另外,解析测图仪也可归于全能法测图仪器,它由带有反馈系统的高精度立体坐标量测仪、电子计算机、数控绘图桌、控制台及相应的软件组成。

    1.3K20

    大坝安全监测系统,为中小型水库建立安全防线!

    二、系统架构漫途大坝安全监测系统通过采集大坝的渗压、渗流参数,并通过数采终端将数据发送至云端服务器进行数据分析、处理,控制中心根据服务器传输数据进行实时看板展示当前各监测点位的实时健康状况,监测点渗压、...同时在下游坝趾建三角形量水堰。渗流量观测采用量水堰计观测,量水堰计布置在排水道侧壁上。埋设安装需配置堰板,仪器置于堰板上游1米以外,安装位置堰槽侧壁开凹槽,仪器固定后凹槽内放置砾石滤水。...图片2.3点位布置一般设置在集水沟的直线段上,上下游沟底及边坡需加护砌以免漏水,可建造专门的混凝土或砌石引水槽。设计堰下水深低于堰口,造成堰口自由溢流。...为了获得准确的观测成果,堰壁需与引水槽和来水方向垂直,并且直立。堰板采用不锈钢板制成,表面应平整光滑,将堰口靠下游边缘制成45°角。...渗压监测3.1设计原理坝体浸润线监测:选定3个观测断面,在每个横断面内横断面内从坝顶往下游坝坡布置2个测压管,观测测压管内水位,绘制浸润面,该方法观测绘制的浸润面直观,一目了然。

    81820

    我们如何用 Gateone.ai 把 AI 视频编辑从炫技变成可盈利的 SaaS 服务

    当 Veo 3.1 能“删掉视频里的咖啡杯”:我们如何用 Gateone.ai 把 AI 视频编辑从炫技变成可盈利的 SaaS 服务就在我们为短视频内容生成的高成本和低可控性彻夜难眠时,谷歌 DeepMind...这听起来像电影特效团队的终极梦想,却也揭开了一个残酷真相:再强大的生成能力,若无法被调度、评估和计费,就只是烧钱的烟花。...一、AI 视频编辑的“好莱坞幻觉”与商业现实我们火速接入 Veo 3.1,试图将其用于客户的内容自动化平台,却很快陷入三重泥潭:1模型孤岛,无法与其他 AI 协同Veo 3.1 的“精确编辑”虽强,但我们的工作流还需要...而我们的�端客户只愿为“自动剪辑服务”支付4.2∗∗。而我们的B端客户只愿为“自动剪辑服务”支付0.99/次。...Veo 的时序一致性缺陷?没有多模型对比和指标追踪,我们只能靠肉眼评审——这在日均千次请求的场景下完全不可持续。

    10010

    【科普】空中三角测量原理

    空中三角测量一般分为两种:模拟空中三角测量(光学机械法空中三角测量)和解析空中三角测量(俗称:电算加密)。 模拟空中三角测量是在全能型立体测量仪器(如多倍仪)上进行的空中三角测量。...航带法:这种方法基本上模仿模拟法空中三角测量建立单航带的过程,也就是通过计算相对定向元素和模型点坐标建立单个模型,利用相邻模型间公共连接点进行模型连接运算,以建立比例尺统一的航带立体模型。...此时每个独立模型只作平移、旋转和缩放,把各个加密点和控制点的模型坐标作为观测值,使相邻独立模型的同名点的坐标相等,控制点的坐标同外业的实测坐标相等。...以上3种方法中,光线束法理论公式是用实际观测的像点坐标为观测值列出误差方程式,所以平差的理论是严密的,加密的精度也应该最高。...同模拟法比较,解析法精度高,速度快,没有模拟法的种种限制,而且对航摄机物镜畸变、摄影材料的变形、大气折光等物理因素所引起的像点误差,以及地球曲率的影响等都可以用计算的方法逐点加以改正,提高加密精度,从而可大量减少外业控制点的测量工作

    1.1K10

    彭罗斯等三位研究黑洞的科学家共获诺贝尔物理学奖,他还是李飞飞的童年偶像

    在奇点一定距离内的一切物体都会受到引力的束缚,从而向内坠落。即使是在黑洞的球面上经过且不会返回的光线也会被吸入,从而使黑洞隐形。...黑洞是如何形成的 当物质或能量密度足够大时,黑洞就形成了。要形成黑洞,地球必须缩小成一个比乒乓球还小的球体。 尽管这些微小的黑洞可能是在大爆炸期间形成的,但今天在宇宙中观测到的黑洞要大得多。...如何观测黑洞 人们通过几种方式发现它们的无形存在。 引力波探测器通过测量产生的时空拉伸和挤压来感知黑洞碰撞。...而他们主要介绍的就是Reutersvärd第一次绘制的三角形,只不过将组成三角形的边变成了连续的直线。...从此以后这种三角形就被称为「彭罗斯三角」: 在彭罗斯的开创性发现之后,天文学家借助科技的力量,越来越了解宇宙深处的秘密,试图更近距离地展开黑洞的观测。

    89141

    基于先验时间一致性车道线的IPM相机外参标定

    该方法分两步估计相机的外部参数: 1)利用一组车道线观测值计算的消失点同时估计俯仰角和偏航角; 2)通过最小化车道宽度观测值和车道宽度先验值之间的差异来计算横滚角和摄像机高度。...该方法分两个阶段估计摄像机的外参: 1)俯仰角和偏航角, 2)横滚角和摄像机高度。 俯仰角和偏航角是使用一组车道边界观测值计算的VP同时估计的。...该集合通常包含一些噪声线或离群点,因此我们使用RANSAC过滤掉离群点,然后估计对噪声线鲁棒的VP。当给定一组线段L时,RANSAC过程可描述为算法1。...基于EKF的俯仰角和偏航角估计 我们使用EKF来估计图像序列中的俯仰角和偏航角。采用恒角速度模型来模拟驾驶过程中俯仰角和偏航角的变化。...因此,用于俯仰和偏航角估计的状态向量X_py和系统模型f_py被定义为 横滚角和摄像机高度估计 由于投影特性和观测车道边界与摄像机外参数之间的非线性几何关系所产生的几何信息不足,利用车道边界的二维投影作为观测值标定横滚角和摄像机高度的方法更加复杂

    2.2K20
    领券