缓存服务器

html5离线储存,application cache,manifest使用体验

一个人想着一个人 提交于 2020-02-16 03:00:32
最近在APP里新增一个论坛模块,为了快速地完成,决定将整个论坛模块做成WEB APP,WEB APP最致命的就是用户体验问题,页面跳转和过多的请求,大大影响了加载速度和用户体验,这时候我想到了HTML5的离线储存。 经过简单的了解之后,觉得这个可以有,但很快我又就发现,HTML5离线储存并不适于这次的项目。 原因如下: 1、 一旦页面指定了manifest,那么这个页面就一定被储存下来。如果有一个动态页面,不想缓存页面的内容,只想缓存页面所引用的css,js,img,但抱歉,这个没有办法做到。我想是因为浏览器与服务器既定的交互逻辑导致必须要这样设计,否则我就很不理解设计者了。 2、page.html?id=1和page.html?id=2被存储成了两个html不同的页面,想想当用户浏览了1000个不同的贴子的时候,浏览器就下载储存了1000个没有意义的页面。 3、第一次访问page.html?id=1,缓存成功后。再访问 page.html?id=2,不会去读缓存,这是因为由于参数变了,被认为地址不一样,不算是第二次请求,所以请求page.html?id=2时依然会重新加载manifest指定的文件。 4、而我为了快速完成,进出层级时都做成了页面跳转,免不了传很多参数,而且每个贴子不一样的id,所以这种情况下离线缓存基本上没有意义,因为相当大部份请求都属于第一次访问。 5、再且

html5离线应用application cache

和自甴很熟 提交于 2020-02-16 02:59:22
【转】MyISAM InnoDB 区别 【转】MYSQL 常用数据类型 html5离线储存,application cache,manifest使用体验 2012-08-27 17:39:20 | 分类: Web App | 标签: | 字号 大 中 小 订阅 最近在APP里新增一个论坛模块,为了快速地完成,决定将整个论坛模块做成WEB APP,WEB APP最致命的就是用户体验问题,页面跳转和过多的请求,大大影响了加载速度和用户体验,这时候我想到了HTML5的离线储存。 经过简单的了解之后,觉得这个可以有,但很快我又就发现,HTML5离线储存并不适于这次的项目。 原因如下: 1、 一旦页面指定了manifest,那么这个页面就一定被储存下来。如果有一个动态页面,不想缓存页面的内容,只想缓存页面所引用的css,js,img,但抱歉,这个没有办法做到。我想是因为浏览器与服务器既定的交互逻辑导致必须要这样设计,否则我就很不理解设计者了。 2、 page.html?id=1和 page.html?id=2被存储成了两个html不同的页面,想想当用户浏览了1000个不同的贴子的时候,浏览器就下载储存了1000个没有意义的页面。 3、第一次访问page.html?id=1,缓存成功后。再访问 page.html?id=2,不会去读缓存,这是因为由于参数变了,被认为地址不一样,不算是第二次请求

转 html5离线储存,application cache,manifest使用体验

偶尔善良 提交于 2020-02-16 02:57:30
html5离线应用application cache 最近在APP里新增一个论坛模块,为了快速地完成,决定将整个论坛模块做成WEB APP,WEB APP最致命的就是用户体验问题,页面跳转和过多的请求,大大影响了加载速度和用户体验,这时候我想到了HTML5的离线储存。 经过简单的了解之后,觉得这个可以有,但很快我又就发现,HTML5离线储存并不适于这次的项目。 原因如下: 1、 一旦页面指定了manifest,那么这个页面就一定被储存下来。如果有一个动态页面,不想缓存页面的内容,只想缓存页面所引用的css,js,img,但抱歉,这个没有办法做到。我想是因为浏览器与服务器既定的交互逻辑导致必须要这样设计,否则我就很不理解设计者了。 2、 page.html?id=1和 page.html?id=2被存储成了两个html不同的页面,想想当用户浏览了1000个不同的贴子的时候,浏览器就下载储存了1000个没有意义的页面。 3、第一次访问page.html?id=1,缓存成功后。再访问 page.html?id=2,不会去读缓存,这是因为由于参数变了,被认为地址不一样,不算是第二次请求,所以请求 page.html?id=2时依然会重新加载 manifest指定的文件 。 4、而我为了快速完成,进出层级时都做成了页面跳转,免不了传很多参数,而且每个贴子不一样的id

离线储存,application cache,manifest使用体验:

百般思念 提交于 2020-02-16 02:47:35
最近在APP里新增一个论坛模块,为了快速地完成,决定将整个论坛模块做成WEB APP,WEB APP最致命的就是用户体验问题,页面跳转和过多的请求,大大影响了加载速度和用户体验,这时候我想到了HTML5的离线储存。 经过简单的了解之后,觉得这个可以有,但很快我又就发现,HTML5离线储存并不适于这次的项目。 原因如下: 1、 一旦页面指定了manifest,那么这个页面就一定被储存下来。如果有一个动态页面,不想缓存页面的内容,只想缓存页面所引用的css,js,img,但抱歉,这个没有办法做到。我想是因为浏览器与服务器既定的交互逻辑导致必须要这样设计,否则我就很不理解设计者了。 2、 page.html?id=1和 page.html?id=2被存储成了两个html不同的页面,想想当用户浏览了1000个不同的贴子的时候,浏览器就下载储存了1000个没有意义的页面。 3、第一次访问page.html?id=1,缓存成功后。再访问 page.html?id=2,不会去读缓存,这是因为由于参数变了,被认为地址不一样,不算是第二次请求,所以请求 page.html?id=2时依然会重新加载 manifest指定的文件 。 4、而我为了快速完成,进出层级时都做成了页面跳转,免不了传很多参数,而且每个贴子不一样的id,所以这种情况下离线缓存基本上没有意义,因为相当大部份请求都属于第一次访问。 5

前端优化-雅虎军规

大兔子大兔子 提交于 2020-02-15 16:54:53
雅虎给出了 优化网站加载速度 的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像)。 1.Minimize HTTP Requests 减少HTTP请求 图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,利用 CSS sprites 将小图拼合后利用background来定位。 2.Use a Content Delivery Network 利用CDN技术 CDN 确实是好东西,8过服务器提供商的这项服务一般是要收费的,我以前买的国内空间是有这个的但是我当时根本不知道啥用,现在没了。。。 3.Add an Expires or a Cache-Control Header 设置头文件过期或者静态缓存 浏览器会用缓存来减少http请求数来加快页面加载的时间,如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。不过这样如果 页面里的东西变动的话就要改名字了,否则用户端不会主动刷新,看自己衡量了~ 这项可以通过修改.htaccess文件来实现。 4.Gzip Components Gzip压缩 Gzip格式是一种很普遍的压缩技术,几乎所有的浏览器都有解压Gzip格式的能力

Yahoo!团队实践分享:网站性能优化的34条黄金守则(一)—内容

喜夏-厌秋 提交于 2020-02-15 16:50:56
Yahoo!的 Exceptional Performance 团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。 Excetional Performance团队总结出了一系列可以提高网站速度的方法。可以分为7大类34条。包括内容、服务器、cookie、CSS、JavaScript、图片、移动应用等七部分。 其中内容部分一共十条建议: 一、内容部分 尽量减少HTTP请求 减少DNS查找 避免跳转 缓存Ajxa 推迟加载 提前加载 减少DOM元素数量 用域名划分页面内容 使frame数量最少 避免404错误 1、尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少HTTP请求的次数。这是提高网页速度的关键步骤。 减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术。 合并文件 是通过把所有的脚本放到一个文件中来减少HTTP请求的方法,如可以简单地把所有的CSS文件都放入一个样式表中。当脚本或者样式表在不同页面中使用时需要做不同的修改

Yahoo!网站最佳体验守则之内容篇

妖精的绣舞 提交于 2020-02-15 16:50:44
英文地址: http://developer.yahoo.com/performance/rules.html Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。 Excetional Performance团队总结出了一系列可以提高网站速度的方法。可以分为7大类34条。包括内容、服务器、cookie、CSS、JavaScript、图片、移动应用等七部分。 其中内容部分一共十条建议: 一、内容部分 尽量减少HTTP请求 减少DNS查找 避免跳转 缓存Ajxa 推迟加载 提前加载 减少DOM元素数量 用域名划分页面内容 减小iframe的大小 避免404错误 1、尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少HTTP请求的次数。这是提高网页速度的关键步骤。 减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术。 合并文件 是通过把所有的脚本放到一个文件中来减少HTTP请求的方法

HTTP中get和post区别

可紊 提交于 2020-02-15 06:22:54
HTTP中比较经典的问题,我整理了下网上我读懂的比较好的资料,目前在知乎上看到了好的解释,毕竟是被别人理解过再经过自己表述出来的,相对书本也更容易让人理解些,如下: 1. 原文链接:https://www.zhihu.com/question/28586791/answer/145424285 通常的理解 w3schools关于这个问题的解答: HTTP 方法:GET 对比 POST 列出了一般的理解,比如: GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 GET书签可收藏,POST为书签不可收藏。 GET能被缓存,POST不能缓存 。 GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。 GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。 GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。 GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL

redis相关问题解决

大兔子大兔子 提交于 2020-02-15 06:10:58
Redis如何做持久化的? bgsave做镜像全量持久化,aof做增量持久化。 因为bgsave会耗费较长时间,不够实时,在停机的时候会导致大量丢失数据,所以需要aof来配合使用。 在redis实例重启时,会使用bgsave持久化文件重新构建内存,再使用aof重放近期的操作指令来实现完整恢复重启之前的状态。 对方追问那如果突然机器掉电会怎样?取决于aof日志sync属性的配置,如果不要求性能,在每条写指令时都sync一下磁盘,就不会丢失数据。 但是在高性能的要求下每次都sync是不现实的,一般都使用定时sync,比如1s1次,这个时候最多就会丢失1s的数据。 对方追问bgsave的原理是什么?你给出两个词汇就可以了,fork和cow。 fork是指redis通过创建子进程来进行bgsave操作,cow指的是copy on write,子进程创建后,父子进程共享数据段,父进程继续提供读写服务,写脏的页面数据会逐渐和子进程分离开来。 https://www.cnblogs.com/linkworld/p/7808818.html 如何保证redis中存放的都是热点数据 https://blog.csdn.net/u013308490/article/details/87737810 https://blog.csdn.net/qq_36071795/article/details

Redis提供的持久化机制(RDB和AOF)

一世执手 提交于 2020-02-14 17:39:00
Redis提供的持久化机制     Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。 近日,Redis的作者在博客中写到, 他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的 ,于是他写了一篇长文来对Redis的持久化进行了系统性的论述。 文章主要包含三个方面: Redis持久化是如何工作的、这一性能是否可靠以及和其它类型的数据库比较 。以下为文章内容: 一、Redis持久化是如何工作的?   什么是持久化?简单来讲就是将数据放到断电后数据不会丢失的设备中,也就是我们通常理解的硬盘上。 首先我们来看一下数据库在进行写操作时到底做了哪些事,主要有下面五个过程 : 客户端向服务端发送写操作(数据在客户端的内存中)。 数据库服务端接收到写请求的数据(数据在服务端的内存中)。 服务端调用write这个系统调用,将数据往磁盘上写(数据在系统内存的缓冲区中)。 操作系统将缓冲区中的数据转移到磁盘控制器上(数据在磁盘缓存中)。 磁盘控制器将数据写到磁盘的物理介质中(数据真正落到磁盘上)。 故障分析 写操作大致有上面5个流程, 下面我们结合上面的5个流程看一下各种级别的故障 : 当数据库系统故障时,这时候系统内核还是完好的。那么此时只要我们执行完了第3步