之乎者也2011

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

随笔分类 -  网站优化

摘要:分类: 其它技术 2011-07-04 21:16 205人阅读 评论(0) 收藏 举报不少同学问,不都是刷新吗?还有什么区别?其实,还是有的。 其中,在地址栏按回车又分为两种情况。一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下: Host 192.168.3.174:8080 User-Agent Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0 Accept text/html,a... 阅读全文
posted @ 2011-09-21 23:02 之乎者也2011

摘要:Zend Optimizer(以下简称ZO)用优化代码的方法来提高php应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。目录简介为什么要用ZO,难道PHP4还不够快吗?ZO在PHP4软件安装的什么位置?ZO的最终发布版本要付费吗?怎样获得及安装 Zend Optimizer优化过程补充作用展开编辑本段简介 优化能提高你的盈利能力 一般情况下,执行使用ZO的php程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,... 阅读全文
posted @ 2011-09-19 04:57 之乎者也2011

摘要:现象 1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。初步分析 majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。 这两个数值表示一个进程自启动以来所发生的缺页中断的次数。 当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操作: 检查要访问的虚拟地址是否合法 查找/分配一个物理页 填充物理页内... 阅读全文
posted @ 2011-09-17 14:46 之乎者也2011

摘要:1、memcahe的分布怎么做?内部实现原理是啥?支持的最大内存是多少 2、为什么图片压缩后反而变大了,原理是啥 3、php的cgi为什么比加载模块慢,原理是啥 4、mysql是否有缓存?缓存机制是啥 阅读全文
posted @ 2011-09-16 12:01 之乎者也2011

摘要:Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 HTTP头的Expires与Cache-control1.概念Cache-control用于控制HTTP缓存(在HTTP/1.0中可能部分没实现,仅仅实现了Pragma: no-cache)数据包中的格式:Cache-Control:cache-directivecache-directive可以为以下:request时用到:|"no-cache"|"no... 阅读全文
posted @ 2011-09-09 00:51 之乎者也2011

摘要:有两种方法,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

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

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

摘要:做一个项目用到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

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

摘要: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

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

摘要: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

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

摘要:根据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

摘要: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

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

摘要:wordpress 并不是那么智能,我们都知道插件太多的情况下,网站打开速度会越来越慢,而php绝对不会是性能的瓶颈,因此,一个原因可能是因为过多的mysql查询,增加了系统负载。这个问题,插件 super cache (全静态化缓存)可以轻松解决掉,那第二个原因呢,也许就出在网站的前端上了。比如,插件会有自己的JS/CSS/img文件读取方式,从而产生出了过多的HTTP请求。这些多余的请求以及加载方式,同样也有办法被轻易的解决掉。这里我以我的网站为例,加以说明。令人欣慰的是,优化后,我的网站速度有了明显提升(打开速度应该快30%以上),Yslow评级从 C 上升到 A。优化前1.这是Fire 阅读全文
posted @ 2011-09-05 06:03 之乎者也2011

摘要:http://hi.baidu.com/3800_hk/blog/item/1c2ce0fe285e7d2b5d60080b.htmlhtaccess是Apache服务器的一个配置文件,具有强大的功能,本文介绍如何编辑该文件,让网站实现封锁某国家IP网段、防止图片、文件盗链、保护主机下的目录与文件、创建自定义的出错页面、把某些特殊的IP地址的请求重定向到别的站点、把老的域名转像新的域名,这些功能。htAccess 文件(Hypertext Access file)是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能。使用.h 阅读全文
posted @ 2011-09-05 04:51 之乎者也2011

摘要:http://hi.baidu.com/3800_hk/blog/item/43524710089538e6c2ce791f.html// 向浏览器发送404 状态码header(“HTTP/1.1 404 Not Found”);或者header(“HTTP/1.1 404″);// 永久重定向header(“Location: http://hi.baidu.com/3800_hk”);//默认是301 跳转// 临时重定向header(“HTTP/1.1 302 Found”);header(“Location: http://hi.baidu.com/3800_hk”);// 下载文件 阅读全文
posted @ 2011-09-05 04:49 之乎者也2011