首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏hrscy

    iOS离线缓存

    1.设计思路 如下图,说明了离线缓存的流程: ? 离线缓存 当第一次打开app的时候,把从服务器获取到的数据保存到沙盒中; 当下一次进入app的时候,首先从沙盒中找,如果沙盒中保存了之前的数据,则显示沙盒中的数据; 如果没有网络,直接加载保存到沙盒中的数据 示例 下面使用一个示例程序来介绍离线缓存。示例程序用到的框架有FMDB,SDWebImage,AFNetworking,数据是由聚合数据提供的开放API。 ingredients": "肋排,500g", "burden": "葱,适量;白芝麻,适量;盐,3g;生粉,45g;料酒,30ml;鸡蛋,1个;葱,1小段;姜,3片;老抽,7ml ;醋,30ml;白糖,20g;番茄酱,15ml;生抽,15ml;生粉,7g;姜,适量", "albums": [ "http://

    2K20发布于 2018-08-30
  • 来自专栏cnblogs

    http缓存离线缓存

    一、http协议实现缓存 1. 缓存头部 通用缓存、条件缓存缓存控制三大类 头部名称 说明 请求/响应 通用缓存头部 控制客户端是否向服务器发送请求或者是服务端响应请求 cache-control 用于随报文传递的缓存提示 pragma If-Unmodified-Since:不会响应412的情况 last-Modified值匹配成功 服务器需要响应2XX或412之外的状态码 请求发送过来的时间格式不对 二、浏览器离线缓存 实现离线缓存的步骤 # 禁止缓存的文件 network: # 回退文件(页面无法访问时回退的页面) fallback: 事件与状态        5.1 状态 状态值 说明 0 未缓存 1 空闲(缓存为最新状态) 2 ,浏览器直接清理缓存是无效的 6.3 修改main.appcache文件任何内容,都会导致离线缓存重新加载,包含注释信 6.4 引入main.appcache文件的html文件,会直接被离线缓存 6.5

    1.8K70发布于 2018-01-17
  • 来自专栏向治洪

    android离线缓存技术

    离线缓存是指在有网络的状态下将从服务器获取的网络数据,如Json 数据缓存到本地,在断网的状态下启动APP时读取本地缓存数据显示在界面上,常用的APP(网易新闻、知乎等等)都是支持离线缓存的,这样带来了更好的用户体验 如果能够在调用网络接口后自动缓存返回的Json数据,下次在断网状态下调用这个接口获取到缓存的Json数据的话,那该多好呢?Volley做到了这一点。 ,Volley只缓存了接口路径,并没有缓存接口的传入参数,因此如果做分页查询的话,使用此方法是不妥的。  2.在测试过程中,依然发现有的时候获取不到缓存数据,有的时候却可以获取到。对获取缓存的代码延迟加载能够有效解决这个问题。  3.如果考虑到缓存的过期策略,可以使用更好的ASimpleCache框架辅助开发。对缓存有更高要求的APP,依然应该使用文件缓存或数据库缓存。 源代码下载

    2.4K90发布于 2018-02-01
  • 来自专栏云计算linux

    HTMT 离线缓存机制

    byWHATWG

    </body> </html> 通过反复切换Apache 2.2服务器,可以看到离线存储的效果 注意如果缓存文件不存在也不会成功。切记!!!

17000编辑于 2024-12-17
  • 来自专栏ShaoYL

    iOS---数据离线缓存

    离线缓存 为了用户的体验,不需要每次打开App都加载新数据,或者重新请求数据,因此需要把每次浏览的数据保存起来,当下次打开软件时,首先从沙盒中加载数据;或者当软件未联网时,也只能从沙盒中加载旧数据。 离线数据的方法选择 1.plist文件 2.Document路径 3.数据库 由于保存的是大批量数据,且会不停的刷新新数据,因此应该选择数据库来存储。 离线缓存的思路 当第一次打开应用程序时,把界面加载好的数据保存到沙盒中 当下一次进入应用程序时,首先从沙盒中找 如果没有网络,直接加载上次保存的数据,或者没有比较新的数据也从沙盒中加载数据。 需要缓存的数据如何保存 sqlite3 框架FMDB 操作数据库的工具类 static FMDatabase *_db; + (void)initialize { // 1.打开数据库 INSERT INTO t_status(status, idstr) VALUES (%@, %@);", statusData, status[@"idstr"]]; } } 从数据库中取出缓存数据

    1.4K120发布于 2018-05-11
  • 来自专栏IMWeb前端团队

    PWA之离线缓存(一)

    离线缓存 :通过Service Worker使得 Web App 也可以做到像 Native App 那样可以离线使用、消息推送的功能。 setTimeout(() => { const img = new Image(); img.src = "/teacher/1@2x_d3458ef8fd9ebd0f7fe4ab1f886b572f.gif installing…11', event); event.waitUntil( caches.open("static-v1").then(cache => cache.add("https://7. 如果都缓存成功,那么OK,service worker安装成功。 这里缓存资源时, 定义了一个缓存名字static-v1 , 打开这个缓存,将图片文件添加进去。 离线资源更新 1、如果业务的静态资源更新了, 需要修改sw.js文件,一个B的修改都会引起浏览器的重新下载sw文件, 然后触发install , 装载新的离线资源。

    2.4K21发布于 2019-12-03
  • 来自专栏YuanXin

    Service Worker离线缓存实战

    背景介绍 最近实战了 Service Worker(以下简称“sw”)来进行网站缓存,以实现离线状态下,网站仍然可以正常使用。 尤其对于个人博客这种以内容为主体的静态网站,离线访问和缓存优化尤其重要;并且 Ajax 交互较少,离线访问和缓存优化的实现壁垒因此较低。 上方的代码顺便清理了旧版本的缓存。 资源拦截 在代码的最后,需要监听 fetch 事件,并且进行拦截。如果命中,返回缓存;如果未命中,放通请求,并且将请求后的资源缓存下来。 可以看到资源都通过 ServiceWorker 缓存加载进来了。 现在,我们打开离线模式, 离线模式下照样可以访问: 最后,我们修改一下 html 的代码,并且更新一下 sw.js 中标识缓存版本的变量 VERSION: 在第 2 次刷新后,通过上图可以看到,缓存版本内容已更新到

    2K10发布于 2020-04-20
  • 来自专栏全栈程序员必看

    关于离线缓存Application Cache 使用 manifest文件缓存

    ,浏览器下载资源文件会先放在一个临时的缓存中,如果有任何一个资源文件下载失败,浏览器将停止其他缓存资源的下载,并清除临时缓存。 如果所有资源文件都被成功下载,浏览器将会把这些资源文件以及引用manifest文件的HTML文档移动到永久离线缓存中 满满的都是坑 一些小坑 需要注意的是manifest文件放在服务器上,MIME类型必须是 manifest文件的HTML文档一并被移动到永久离线缓存中。 ),浏览器将直接从本地离线缓存中获取资源文件。 ,但依旧会从网络上加载,而iframe的解答方法也是2011~2012年左右提出的,后来就没有相关文章了,估计已经彻底失效了 Application主要是为了构建离线缓存,使得页面在离线模式下也能浏览。

    3K20编辑于 2022-07-27
  • 来自专栏前端大白专栏

    HTML5离线缓存技术

    原理和环境 如上面提到的HTML5的离线存储是基于一个新建的.appcache文件的,通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。 之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。 就像cookie一样,html5的离线存储也需要服务器环境。 下面的 NETWORK 小节规定文件 "login.asp" 永远不会被缓存,且离线时是不可用的: NETWORK: login.asp 可以使用星号来指示所有其他资源/文件都需要因特网连接: NETWORK 可以看见图片1成功被离线展示出来了,图片2像正常情况一样显示不出来。 现在我想把图片2和图片1的位置换一下呢. 注意事项 站点离线存储的容量限制是5M 如果manifest文件,或者内部列举的某一个文件不能正常下载,整个更新过程将视为失败,浏览器继续全部使用老的缓存 引用manifest的html必须与manifest

    4.4K70发布于 2018-06-15
  • 来自专栏前端博客

    html5离线缓存manifest详解

    HTML5引入了应用程序缓存(Application Cache),通过创建manifest文件可以轻松地创建Web应用的离线版本,使Web应用可以在没有网络的时候任然可以访问。 manifest文件主要定义需要缓存的文件,支持manifest的浏览器将按照manifest文件的规则把文件保存在本地,这样在没有网络的时候就可以从本地读取缓存文件。 Manifest的优点离线浏览 – 用户可在应用离线时使用它们提升速度 – 已缓存资源加载得更快减少服务器负载 – 浏览器将只从服务器下载更新过或更改过的资源。 对于manifest文件进行缓存的时候需要十分小心,因为可能出现一种情况就是你对manifest文件进行了更新,但是http的缓存规则告诉浏览器本地缓存的manifest文件还没过期,这个情况下浏览器还是使用原来的 /en-US/docs/Web/HTML/Using_the_application_cachehttp://diveintohtml5.info/offline.html转载本站文章《html5离线缓存

    3.1K31编辑于 2023-05-07
  • 来自专栏ascii0x03的安全笔记

    HTML5离线缓存攻击测试

    合法网站使用Linux CentOS7的apache服务器搭建,IP为192.168.1.113,HOSTS文件中加入192.168.1.113 www.cache-test.com来模拟域名。 正常访问页面如下图所示,在离线时也能够正常刷新出来。 ? 攻击者由安装有XAMPP服务器的桥接虚拟机表示,IP为192.168.1.154。 通过两次更新manifest文件,让用户缓存恶意页面并使其manifest文件与合法网站保持一致,如图所示。 ? 通过Wireshark抓包可以看到,浏览器仅仅请求了demo_html.appcache,离线缓存攻击成功。注意在实验时需要排除浏览器本身缓存的影响,仅仅刷新页面会收到服务器返回的304响应。 由于时间有限,并没有用爬虫去找使用了HTML5离线缓存的网站,仅仅做了这种攻击的验证实验,若有大家可以推荐几个来测试。 主页htm: <!

    2.1K90发布于 2018-04-12
  • 来自专栏王二麻子IT技术交流园地

    H5的离线缓存技术

    离线存储可以将站点的一些文件存储在本地,它是浏览器自己的一种机制,将需要的文件缓存下来在没有网络的时候可以访问到缓存的对应的站点页面,包括html,js,css,img等等文件在有网络的时候,浏览器也会优先使用已离线存储的文件 这跟HTTP的缓存使用策略是不同的。 资源的缓存可以带来更好的用户体验,当用户使用自己的流量上网时,本地缓存不仅可以提高用户访问速度,而且大大节约用户的使用流量。 HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源;把需要离线存储在本地的文件列在一个manifest配置文件中。 Manifest 的特点 离线浏览:即当网络断开时,可以继续访问你的页面。 访问速度快:将文件缓存到本地,不需每次都从网络上请求。 html5中引入了js操作离线缓存的方法,可以通过js代码手动更新本地缓存

    1.3K20编辑于 2023-07-18
  • 来自专栏ascii0x03的安全笔记

    HTML5离线缓存攻击测试(二)

    经过昨天的测试,发现使用离线缓存的网站会被攻击。但是,不使用离线缓存的网站就真的不会受到这样的攻击么? (很郁闷相同的操作为啥有时候结果不一样,不过大部分还是造成了离线缓存攻击的效果。) 再次请求时抓包如下图,发现请求appcache文件后,尽管百度返回了302的错误页,但是浏览器没有跳转,仍然保持了离线缓存的页面,实现了缓存中毒的效果。 不知道使用https进行离线缓存攻击会不会成功。 ? 除了百度和支付宝,还用网易的126.com做了实验。 个人认为,对于类似百度网站这样的服务器设置,会导致缓存攻击成功,感觉是浏览器实现时的一个bug。如果支付宝https能被离线缓存攻击,那么危害性还是很大的。

    2.3K60发布于 2018-04-12
  • 来自专栏全栈程序员必看

    Centos7离线安装autoconf

    linux-thread-multi (with 39 registered patches, see perl -V for more detail) 包页面:https://centos.pkgs.org/7/ centos-aarch64/perl-Data-Dumper-2.145-3.el7.aarch64.rpm.html 跳到下载页面:http://rpmfind.net/linux/rpm2html query=perl-Data-Dumper(x86-64) 选中centos7 对应版本,并下载:perl-Data-Dumper-2.145-3.el7.x86_64.rpm 网址不错,可以搜索下载其他各种包 解压,进入目录安装: $ rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:perl-Data-Dumper-2.145-3.el7

    2.5K20编辑于 2022-09-05
  • 来自专栏全栈程序员必看

    CentOS7离线安装gcc

    yum -y install gcc 但是如果系统不可联网,那么就需要一种离线安装的方式了。步骤如下: 1. 从CentOS7的系统安装镜像中取出需要的rpm包(也可以通过别的方式获取):解压镜像文件,进入”Packages”目录,里面很多rpm包,取出如下几个: mpfr-3.1.1-4.el7.x86_64 .rpm libmpc-1.0.1-3.el7.x86_64.rpm kernel-headers-3.10.0-123.el7.x86_64.rpm glibc-headers-2.17-55.el7 .x86_64.rpm glibc-devel-2.17-55.el7.x86_64.rpm cpp-4.8.2-16.el7.x86_64.rpm gcc-4.8.2-16.el7.x86_64.rpm -ivh glibc-devel-2.17-55.el7.x86_64.rpm rpm -ivh cpp-4.8.2-16.el7.x86_64.rpm rpm -ivh gcc-4.8.2-16.el7

    2.4K20编辑于 2022-09-01
  • 来自专栏戴言泛滥

    Centos7 离线安装MySQL

    直接下载mysql-***-1.el7.x86_64.rpm-bundle.tar,所有的rpm包都在里面 上传至服务器并解压,会有很多包,依次执行以下命令 rpm -ivh mysql-community-common -5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-devel -5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-client -5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm 执行过程中可能会有报错,提示你缺少依赖包

    2.3K20发布于 2020-09-02
  • 来自专栏网站教程

    CentOS 7实现离线下载

    仅做离线下载的方法分享,使用者应该遵守所在服务器运营商相关规定,勿滥用,否则一切后果由使用者自负,与分享者无关。

    99120发布于 2021-07-23
  • 来自专栏ChenYFanの小窝

    不只是离线缓存! - 论如何善用ServiceWorker

    离线访问可达性】。 实际上,SW确实是PWA的核心与灵魂,但SW在PWA中起的主要作用是缓存文件,提供给离线访问。并没有完整地发挥出SW的巧妙用法。 let cachelist = []; cachelist里面填写的是预缓存网址,例如在离线时返回的错误页面。 因此,对于博客的缓存,我们要保证用户每次获取都是最新的版本,但也要保证用户在离线时能看到最后一个版本的内容。 因此,针对博客来说,策略应该是先获取最新内容,然后更新本地缓存,最后返回最新内容;离线的时候,尝试访问最新内容会回退到缓存,如果缓存也没有,就回退到错误页面。

    4.4K21编辑于 2022-01-18
  • 来自专栏学习整理

    Centos 7离线安装mysql5.7.18

    CentOS 7下使用rpm包安装mysql 5.7.18 entos 7 卸载 mariadb 1.查看已安装MariaDB相关的包              rpm -qa | grep mariadb 2.卸载mariadb   rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86 mysql相关的包 离线包:mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 相关依赖包:libaio-0.3.109-13.el7.x86_64.rpm 解压包:tar rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.18-1.el7.x86 _64.rpm rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm rpm -ivh libaio-0.3.109-13.el7.x86_64

    82000编辑于 2023-08-08
  • 来自专栏奕空

    centos7 离线安装字体fontconfig

    拓展:离线所需rpm包如何获取?     百度不好找,找个可上网的服务器 yum install yum-utils  然后 yumdownloader <package-name> 即可。 离线: rpm -ivh fontconfig-2.13.0-4.3.el7.x86_64.rpm  --nodeps --force C:\Windows\Fonts 下找自己需要字体  cd /usr myfonts 上传字体文件到myfonts 赋权 chmod -R 755 /usr/share/fontconfig/myfonts/ rpm -ivh ttmkfdir-3.0.9-42.el7. -- Font directory list -->         <dir>/usr/share/fontconfig/myfonts</dir> 然后输入:wq保存退出, 刷新内存中的字体缓存

    9.3K50发布于 2019-05-14
  • 领券