首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在浏览器中阻止REST调用的HTTP缓存?

在浏览器中阻止REST调用的HTTP缓存可以通过以下几种方式实现:

  1. 添加随机参数:在REST调用的URL后面添加一个随机参数,确保每次请求的URL都是唯一的,从而避免浏览器使用缓存的响应。例如:
代码语言:txt
复制
https://api.example.com/data?timestamp=1612345678
  1. 设置HTTP头部:在REST调用的请求中设置适当的HTTP头部,以告知浏览器不要缓存响应。常用的头部字段包括:
  • Cache-Control: no-cache:指示浏览器不要缓存响应。
  • Pragma: no-cache:与Cache-Control相同,用于向后兼容。
  • Expires: 0:指示响应已过期,浏览器不应使用缓存的响应。
  1. 使用POST请求:将REST调用的HTTP方法从GET改为POST,因为GET请求通常会被浏览器缓存,而POST请求不会被缓存。
  2. 使用XMLHttpRequest对象:如果使用JavaScript进行REST调用,可以使用XMLHttpRequest对象,并设置其相关属性来禁用缓存。例如:
代码语言:txt
复制
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
xhr.setRequestHeader('Cache-Control', 'no-cache');
xhr.setRequestHeader('Pragma', 'no-cache');
xhr.setRequestHeader('Expires', '0');
xhr.send();
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

什么是REST API

REST API示例 在你浏览器打开以下链接,从Open Trivia Database[3]请求一个随机计算机问题: https://opentdb.com/api.php?...换句话说,应该可以按照任何顺序发出两个或更多HTTP请求,并且会收到相同响应(除非API被设计为返回随机响应)。 「可缓存」(Cacheable):响应应该被定义为可缓存或不可缓存。...} 客户端REST请求和CORS 考虑在浏览器启动以下HTML页面,URL是http://localhost:8888/ : <!...注意,浏览器REST API发出两个请求: 对同一URLHTTP OPTIONS请求确定Access-Control-Allow-Origin HTTP响应头是否有效。 实际REST调用。...阻止来自未知域名或IP地址访问。 阻止意外大型有效负载。 考虑速率限制,也就是使用同一API令牌或IP地址请求被限制在每分钟N个以内。 以适当HTTP状态代码和缓存头进行响应。

4.3K20
  • Spring Boot Hystrix

    Hystrix是Netflix一个库。Hystrix隔离了服务之间访问点,阻止了它们之间级联故障并提供了后备选项。 例如,当调用第三方应用程序时,发送响应需要更多时间。...所以在那个时候,控件转到了回退方法并将自定义响应返回给你应用程序。 在本章,将看到如何在Spring Boot应用程序实现Hystrix。...It takes long time to response"; } 此处显示包含REST API和Hystrix属性完整Rest Controller类文件 - @RequestMapping(value...It takes long time to response"; } 在此示例REST API编写在主Spring Boot应用程序类文件本身。...现在,从Web浏览器中点击URL => http://localhost:8080/,然后查看Hystrix响应。API需要3秒钟才能响应,但Hystrix超时为1秒。

    42720

    REST 和 SOAP 协议有什么区别?

    REST 目标是轻量级、与浏览器高度兼容、将客户端与服务器分离并提供缓存功能。那么,如果 REST 出现在 SOAP 之后,并且 REST 解决了 SOAP 问题,为什么 SOAP 还存在呢?...与 REST 不同,SOAP 请求并不直接包含 CRUD(创建、读取、更新、删除)操作。相反,这些操作是通过调用不同函数来实现。...与此相反,REST 倡导前后端分离原则不依赖于客户端库,从而保持了网络服务可迁移性、可扩展性和独立发展性。在资源受限网络服务环境REST 优势还在于客户端可以有效地缓存 HTTP 响应。...这是通过 REST 使用 URL 分离端点并利用 HTTP 请求头执行 CRUD 操作实现,而 SOAP 则因其 POST 请求方式而难以实现缓存。...这一约束对于网络服务高效运行至关重要。虽然 REST 在某些方面已经取代了 SOAP 在公共网络服务地位,但 SOAP 在安全敏感场景企业级应用和金融服务,仍然有着很高采用率。

    12400

    前端基础知识整理汇总(

    将频繁重绘或者回流节点设置为图层,图层能够阻止该节点渲染行为影响别的节点,例如will-change、video、iframe等标签,浏览器会自动将该节点变为图层。...不是目标元素,它上面绑定事件会遵守先发生捕获后发生冒泡规则。 e.stopPropagation():阻止事件传播。不仅可以阻止事件在冒泡阶段传播,还能阻止事件在捕获阶段传播。...默认行为是指:点击a标签就转跳到其他页面、拖拽一个图片到浏览器会自动打开、点击表单提交按钮会提交表单等 http缓存: 强制缓存和协商缓存 良好缓存策略可以降低资源重复加载提高网页整体加载速度。...而函数表达式值是在JS运行时确定,并且在表达式赋值完成后,该函数才能调用。这个微小区别,可能会导致JS代码出现意想不到bug,让你陷入莫名陷阱。...没有自己arguments,在箭头函数访问arguments实际上获得是外层局部(函数)执行环境值。如果要用,可以用 rest 参数代替。

    89320

    有关跨域请求一些记录

    开始 官方定义,CORS (Cross-Origin Resource Sharing,跨域资源共享)是一个系统,它由一系列传输HTTP头组成,这些HTTP头决定浏览器是否阻止前端 JavaScript...通俗一点来说呢,就是浏览器有权决定是否阻止网页上JavaScript从不同域名下调取数据行为,但是你也可以通过服务器返回HTTP头部来决定浏览器不去阻止此请求。...所以上面我调用头条API行为就被浏览器阻止了,因为头条服务器并没有设置一个Access-Control-Allow-Origin来允许我调用(没设置头部的话,同域名是正常使用)。...(好像很拗口),就是用来告诉浏览器如何控制缓存啦。...如果本次请求返回'Vary: Origin’,说明响应是根据源来响应,下次同源请求就可以使用上次缓存了。

    1.9K50

    何在Ubuntu 14.04上将Apache Traffic Server设置为反向代理

    本教程将介绍如何在Ubuntu 14.04上安装Apache Traffic Server并将其配置为缓存反向代理。...您浏览器现在应该显示错误,因为您阻止了对服务器远程访问。 步骤4 - 将Traffic Server配置为反向代理 在此步骤,我们将Traffic Server配置为反向代理。...步骤5 - 配置流量服务器以缓存所有内容 默认情况下,仅当流量服务器包含明确指定项目应存储在缓存时间Cache-Control或Expires标头时,它才会缓存HTTP响应。...这将把Apache欢迎页面存储在Traffic Server缓存。...您现在可以在文本字段中键入URL,然后单击“ 查找”按钮以检查它是否存储在缓存。 例如,您可以输入http://your_server_ip:8080/以检查是否从缓存中提供了Web服务器主页。

    1.9K30

    Ajax与REST

    尽管互联网在几十年前就在实验环境下产生了,但是真正扩张还是在 Tim Berners-Lee完成了网络几个主要组件原型之后,它们包括:URI,HTTP,HTML 浏览器和服务器。...总结出了明确改进标准,比如URI和HTTP建议,同时也模糊提出了一套为互联网程序使用新架构,他总结为 Representational State Transfer(REST)。...而在一个REST风格应用,每次搜索引擎请求时候,你可以简单返回一个“Not-Modified”信息。 Ajax 和 REST 传统应用程序在服务器端整合表现和动态内容,然后再发送给用户。...所以在进行应用程序设计时,将REST原则应用到Ajax引擎,可以为我们访问应用程序资源提供更大便利。...同时也对于REST开始有了初步认识,但是REST风格架构如何设计,如何在目前自己应用中使用REST风格,还是一个需要摸索过程。

    70620

    在PaaS上开发Web、移动应用(2)

    巨型代码,是指持续不断地向一个应用程序添加功能,不停地增加新特性搜索功能、账户管理、博客发布等。 在开发速度以及在适应扩展需求总体架构之间进行权衡。...- 通过复用HTTP基础操作,GET、POST、PUT以及DELETE,REST已经成为了一种主流服务设计模型。...:一个基于REST用于管理用户数据JSON服务: GET 列出资源(可以被缓存) - http://example.com/users Header: none Response: [ {...name=b 创建新资源时候不需要查询字符串 DELETE 删除资源(不可缓存) - http://example.com/users Header: None Response:...元服务 元服务是一种基于REST应用程序,用于为数据集合提供服务。 10. 瘦Web客户端 元服务可以直接在浏览器调用。 11.

    1.3K60

    那些年,我们一起误解过REST

    REST约束条件有: 统一接口 无状态 缓存 客户端-服务器 分层系统 按需代码(可选) 其中,统一接口是最直观、也是应用偏差最大地方,下面会重点讲解。其余各约束条件则简单讲解。 1....另外,还有其他较少用请求方法,需要注意是可能部分浏览器不支持。 HEAD:用于获取资源元信息。...也就是说,在HTTP响应Header,必须包含Content-type属性,application/json、application/xml、text/html等。...而无状态服务,则直接调用查询工资接口,在请求(一般在Header)带有鉴权信息,若鉴权通过则可查询到工资,鉴权不通过则报错。该请求不依赖于任何前置请求,称为无状态。...缓存约束条件要求一个请求响应数据被隐式地或显式地标记为可缓存或不可缓存

    2.1K173

    微服务架构进程间通信

    介绍 在单体应用程序,组件通过语言级方法或函数调用进行彼此调用。相比之下,基于微服务应用程序是在多台机器上运行分布式系统。每个服务实例通常是一个进程。...由于您无法强制客户端立即升级,服务必须支持较旧版本API一段时间。如果您使用基于HTTP机制(REST),则一种方法是将版本号嵌入到URL。每个服务实例可能同时处理多个版本。...REST一个关键概念是资源,通常表示业务对象(客户或产品)或业务对象集合。 REST使用HTTP动词来操纵资源,这是使用URL引用。...您可以使用扩展名(Postman)从浏览器测试HTTP API,或使用curl从命令行测试HTTP API(假设使用了JSON或其他一些文本格式)。...Thrift还为您提供了包括原始TCP和HTTP在内传输协议选择。原始TCP可能比HTTP更有效率。然而,HTTP是防火墙,浏览器和人性化

    2.5K50

    3、进程间通信

    由于您无法强制客户端立即升级,服务也必须支持较旧版本 API 一段时间。如果您使用了基于 HTTP 机制( REST),则一种方法是将版本号嵌入到 URL 。每个服务实例可能同时处理多个版本。...REST 是一种使用了 HTTP (几乎总是) IPC 机制。 资源是 REST 一个关键概念,它通常表示业务对象,客户、产品或这些业务对象集合。...Leonard Richardson 定义了一个非常有用 REST 成熟度模型,包括以下层次: 级别 0 级别 0 API 客户端通过向其唯一 URL 端点发送 HTTP POST 请求来调用该服务...这使服务能够利用得到 Web 基础特性,缓存 GET 请求。...您可以使用浏览器扩展( Postman)来测试 HTTP API,或者使用 curl 命令行测试 HTTP API(假设使用了 JSON 或其他一些文本格式)。 它直接支持请求/响应式通信。

    1.3K20

    【ASP.NET Core 基础知识】--Web API--RESTful设计原则

    REST旨在构建可伸缩、可维护网络应用,强调资源统一标识、无状态通信和统一接口。基于HTTP协议,RESTful设计通过简化架构、提高系统可靠性,促使Web服务广泛应用。...通常伴随着在请求体包含资源数据,且不是幂等。 PUT: 用于更新或创建指定URI资源。 请求体包含完整资源表示形式,对同一URI多次调用应该具有相同结果。...合理缓存策略: 利用HTTP缓存机制,使用适当Cache-Control和ETag头部来提高性能,减轻服务器负担。...四、RESTful设计挑战与解决方案 4.1 跨域资源共享(CORS)问题 概念: CORS是一种浏览器机制,用于在浏览器执行跨域HTTP请求。...当在一个域(Origin)网页上通过脚本请求另一个域资源时,浏览器会执行CORS策略,阻止对跨域资源非同源请求。

    11400

    REST - Representati

    REST基于唯一URI标识资源。 只要服务遵从定义标准或特性,我们可以将这个服务称为 restREST 并不与任何特定平台联系在一起, 当前在Web上使用 HTTP 完成。...无状态 每个发向服务器请求都应该带有理解完成请求所需全部信息 可缓存 返回数据能够缓存以便于用户再其他时间调用,这能够提升性能并且减少网络通信。...分层系统 代理服务器或缓存服务器等中间服务器可用于提高性能或引入安全性。 统一接口 统一接口 ( HTTP HTTP GET, POST, DELETE, PUT) 用于访问资源。...rest风格服务只http端点, 因此使用 http ( HTTPS、证书) 实现所有安全方面也可以用 rest 实现。...自寄宿web服务, 大部分安全方面都应该在代码得到注意;另一方面, 在 iis 托管时, iis设置会处理安全问题。

    1.2K70

    如何使用 HTTP Headers 来保护你 Web 应用

    机密资源禁用缓存 缓存是优化客户端-服务端架构性能中有效技术,HTTP 也不例外,同样广泛利用了缓存技术。但是,在缓存资源是保密情况下,缓存可能导致漏洞,所以必须避免。...IETF RFC 7234 定义了 HTTP 缓存,指定 HTTP 客户端(浏览器以及网络代理)默认行为:除非另行指定,否则始终缓存HTTP GET 请求响应。...JavaScript 代码注入到 HTTP 请求,注入代码「映射」到响应,并由浏览器执行,从而使恶意代码在可信任上下文中执行,访问诸如会话 cookie 潜在机密信息。...为了保护用户抵抗反射型 XSS 攻击,有些浏览器实施了保护机制。这些保护机制尝试通过在 HTTP 请求和响应寻找匹配代码模式来辨识这些攻击。...此响应头指示浏览器对你 web 应用是否可以被嵌入另一个网页进行限制,从而阻止恶意网页欺骗用户调用应用程序进行各项操作。

    1.2K10

    怎样编写好 API?

    REST 要尽可能多地使用 HTTP 固有属性理念。 在 Level 0,没有使用任何这样东西。我们只是构建自己协议并把它作为一个专有层。...不管你调用多少次基于 REST GET 方法,它永远不会改变数据库任何东西。但是,这并不是该动作固有特性,而是关系到你该如何实现它,所以我们需要确保它是这样运行。...在 REST 规范,POST 是唯一一个非幂等方法,所以我们可以对相同资源多次调用 POST 方法,这样我们会得到重复资源。...同时,因为缓存HTTP 规范一部分,所以很多涉及 HTTP 技术都知道如何进行缓存浏览器原生支持缓存,客户端和服务器之间中间技术也是如此。...当我们使用 REST 方式构建 API 时候,我们基本上可以免费获得 HTTP 缓存功能。如果选择 GraphQL 的话,你需要自行负责为客户端或应用程序添加缓存

    62120

    边缘服务一致性、耦合和复杂性

    这篇有关 Richardson 成熟度模型博文是了解 REST 在 API 设计中所起作用一个很好资源。 在 API 设计和 HTTP 标准之间存在着紧密一致性。...在 RESTful API 设计,URI 路径部分用于标识特定实体 (也称为资源)。HTTP 谓词用于标识要对实体执行操作类型。实体可以通过其他实体 URI 路径部分链接到其他实体。...这些 API 设计不存在一致性,以致于难以看出它们是干什么用REST 在 API 设计引入了一致性。...基于生存时间值 (TTL)、最近最少使用原则 (LRU) 缓存在 GQL 作用是有限。因为有效载荷是可以灵活指定,所以很难实现高命中率和低脏读率高效缓存。...Apollo GraphQL 框架支持在 schema 中使用缓存提示注解或在解析器动态设置,这可以通过浏览器缓存或内存缓存或外部缓存 ( Memcached 或 Redis) 来实现。

    93410
    领券