之乎者也2011

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年9月7日

摘要: 阅读全文
posted @ 2011-09-07 07:12 之乎者也2011 阅读(326) 评论(0) 推荐(0) 编辑

摘要: 优化PHP代码的40条建议40 Tips for optimizing your php Code原文地址:http://reinholdweber.com/?p=3英文版权归Reinhold Weber所有,中译文作者yangyang(aka davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHPer指正。1. If a method can be static, declare it static. Speed improvement is by a factor of 4. 如果一个方法可静态化,就对它做静态声明。速率可提 阅读全文
posted @ 2011-09-07 06:05 之乎者也2011 阅读(201) 评论(0) 推荐(0) 编辑

摘要: 有两种方法,div层局部刷新和iframe嵌套刷新div:定义div id 用js方法reload该div的id或者url即可iframe:用js方法调用iframe的relocation方法即可最好用jquery的load方法如果不断刷新,用setinterval另外上文的长连接,觉得也是个好办法!!页面局部刷新的两种方式:form+iframe 和 ajax 博客分类:JSP/Servlet/htmlAjaxJavaScriptMicrosoftDojoIE1 使用form做提交,target设为iframe的name:引用Html代码 <iframename="i... 阅读全文
posted @ 2011-09-07 05:48 之乎者也2011 阅读(741) 评论(0) 推荐(0) 编辑

摘要: Comet:基于 HTTP 长连接的“服务器推”技术周 婷 (zhouting@cn.ibm.com), 软件工程师, IBM 中国软件开发技术实验室简介:很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了 Comet - 使用 HTTP 长连接、无须浏览器安装插件的两种“服务器推”方案:基于 AJAX 的长轮询方式;基于 iframe 及 htmlfile 的流方式。最后分析了开发 Comet 应用需要注意的一些问题,以及如何借助开源的 Comet 框架-pushlet 构建自 阅读全文
posted @ 2011-09-07 05:38 之乎者也2011 阅读(317) 评论(0) 推荐(0) 编辑

摘要: Ajax 缓存: 两个重要的事实英文原文地址【翻译:基调网络性能分析工程师zhenzh】Ajax调用就像任何其他的HTTP请求一样可以用来构建一个网页。然而,由于其动态的性质人们常常忽略了可以缓存它们而从中受益。高性能网站建设的第14条规则:缓存Ajax确保您的Ajax请求遵循这条规则,特别是包含一个Expires头.这个博客帖子的其余部分包括两个重要的事实,将帮助您理解并有效应用Ajax缓存事实1 : Ajax缓存和HTTP缓存效果相同现代浏览器的HTTP系统和缓存系统要比Ajax的XMLHttpRequest对象更靠近底层. 在这个层面上,浏览器并不知道或关心Ajax请求。它只是服从正常的 阅读全文
posted @ 2011-09-07 05:29 之乎者也2011 阅读(718) 评论(0) 推荐(0) 编辑

摘要: 做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除, 必须要等一段时间,后来知道是IE缓存的问题 AJAX缓存页面是一个刚接触AJAX的人一定会遇到的问题,造成这个问题的关键性人物又是Ie... 在网上找了好多资料后,总结一下 1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数 在javascript发送的URL后加上t=Math.random() 当然,不是直接把t=Math.random()拷贝到URL后面,应该像这样:URL+"&"+"t="+Math.random(); 2:在XM 阅读全文
posted @ 2011-09-07 05:27 之乎者也2011 阅读(420) 评论(0) 推荐(0) 编辑

摘要: 首先说明一下,yahoo的优化原则上说使用ajax缓存,下面的文章是如果禁止ajax缓存转载一篇文章,在做聊天室的过程中困惑我很久的一个问题.呵呵,太感谢作者了.原文如下:项目有时要用一些Ajax的效果,因为比较简单,也就没有去用什么Ajax.net之类的东西,手写代码也就实现了。、第二天,有人向我报告错误;说是只有第一次读取的值正常,后面的值都不正常;我调试了一下 ,确实有这样的问题,查出是因为AJAX缓存的问题:解决办法有如下几种: 1、在服务端加 header("Cache-Control: no-cache, must-revalidate");(如php中) 2、 阅读全文
posted @ 2011-09-07 05:24 之乎者也2011 阅读(194) 评论(0) 推荐(0) 编辑

摘要: http://www.blogjava.net/BearRui/archive/2010/05/04/js_css_merge_compress_cache.html 本篇文章主要讨论下目前JS,CSS 合并、压缩、缓存管理存在的一些问题,然后分享下自己项目中用到的1个处理方案,并提供1个实例下载。存在的问题: 合并、压缩文件主要有2方面的问题: 1. 每次发布的时候需要运行一下自己写的bat文件或者其他程序把文件按照自己的配置合并和压缩。 2. 因生产环境和开发环境需要加载的文件不一样,生产环境为了需要加载合并、压缩后的文件,而开发环境为了修改、调试方便,需要加载非合并、压缩... 阅读全文
posted @ 2011-09-07 04:32 之乎者也2011 阅读(491) 评论(0) 推荐(0) 编辑

摘要: 发现如果开启了last-modified,firefox会自动的设置10秒的expire给客户端,包括那个页面的所有css,js,再发请求都是cache最夸张的是图片,连cache都不发,估计就在内存中!!如果当前页面是html,则html也缓存了,如果是php,则php不缓存只有10秒后,点url才发请求304 阅读全文
posted @ 2011-09-07 03:18 之乎者也2011 阅读(307) 评论(0) 推荐(0) 编辑

摘要: Ubuntu中安装apache2默认是没开启expires模块的,但是默认开启了etag和last-modified首先需要开启此模块:sudo ‍a2enmod expiressudo service apache2 restart然后在.htaccess文件中添加:‍# enable expirationsExpiresActive On# expire images after a month in the client's cacheExpiresByType image/gif A2592000ExpiresByType image/png A2592000ExpiresBy 阅读全文
posted @ 2011-09-07 02:31 之乎者也2011 阅读(677) 评论(0) 推荐(0) 编辑

摘要: 当直接在浏览器中输入一个URL,或者点击一个链接的时候,那么浏览器缓存就会起作用,如果缓存没有过期,那么浏览器会从本地读取资源,不会发起HTTP请求,如果缓存过期,那么浏览器会发起新的浏览器请求。按ctrl+F5(F5应该也可以),浏览器会情况本地缓存,重新请求资源。此时304的last_modified和etag派上了用场 阅读全文
posted @ 2011-09-07 02:28 之乎者也2011 阅读(296) 评论(0) 推荐(0) 编辑

摘要: 根据PageSpeed的规则,我们可以从KeepAlive,浏览器缓存,Gzip等方面对Apache进行些调整,从而提高网站性能。1. 开启Keep-Alive开启Keep-Alive后,可以保证浏览器和服务器之间的连接持久存在,这样如果同一个域名请求很多资源的情况下可以省去建立连接的时间和资源消耗。所以对于静态服务器来说,由于一个域名会请求N多资源,比较宜开启Keep-Alive,但是对于动态服务器,不宜开启Keep-Alive,因为这样会造成很多的空闲进程,浪费内存空间。配置:1KeepAlive On #开启KeepAlive2KeepAliveTimeout 5 #保持连接5秒2. H 阅读全文
posted @ 2011-09-07 02:24 之乎者也2011 阅读(233) 评论(0) 推荐(0) 编辑

摘要: HTTP/1.1中有一个Etag,用来判断请求的文件是否被修改。为什么要使用Etag呢?Etag主要为了解决Last-Modified无法解决的一些问题1、一些文件也许会周期性的更改,但是他的内容并不改变(仅仅改变的修改时间),这个时候我们并不希望客户端认为这个文件被修改了,而重新GET;2、某些文件修改非常频繁,比如在秒以下的时间内进行修改,(比方说1s内修改了N次),If-Modified-Since能检查到的粒度是s级的,这种修改无法判断(或者说UNIX记录MTIME只能精确到秒)3、某些服务器不能精确的得到文件的最后修改时间;为此,HTTP/1.1引入了Etag(Entity Tags 阅读全文
posted @ 2011-09-07 02:15 之乎者也2011 阅读(239) 评论(0) 推荐(0) 编辑

摘要: 很多人首先会想从服务器缓存方面着手对程序进行优化,许多不同的服务器缓存方式都有他们自己的特点,像我曾经参与的一些项目中,根据缓存的命中率不同使用过 Com+/EnterpriseLibiary Caching/Windows服务,静态文件等方式的服务器端缓存和 HTTPCompression技术,但客户端缓存往往却被人们忽略了,即使服务器的缓存让你的页面访问起来非常地快,但她依然需要依赖浏览器下载并输出,而当你加入客户端缓存时,会给你带来非常多的好处.因为她可以对站点中访问最频繁的页进行缓存充分地提高 Web服务器的吞吐量(通常以每秒的请求数计算)以提升应用程序性能和可伸缩性。 一个在线购物调 阅读全文
posted @ 2011-09-07 01:49 之乎者也2011 阅读(534) 评论(0) 推荐(0) 编辑