high performance web sites

1,减少HTTP请求数
(1)图片加载使用image maps 或者 CSS Sprite
(2)使用非http协议,如(ftp:, file: mailto: data:URL等,已被IE废弃)
(3)合并css和js代码文件 2,使用内容分发网络(CDN:content delivery network)
当然使用cdn有优点也有缺点:成本高,不受控制,和其他客户竞争cdn带宽 3,增加expires头,控制缓存时间
(1)设置expires头,不易操作,需要设置精确过期时间,client和server需要同步时间等
(2)http 1.1引进Cache-controll:max-age
(3)主要针对image/stylesheet/script等类型文件
(4)更改文件名可“刷新”缓存,如添加js版本号 4,使用Gzip
(1)Accept-Encoding: gzip, deflate
(2)一般可压缩大于1~2K的文本文件(html/css/js/xml/json等) 5,把stylesheets放在前面
(1)有些浏览器可能会在读完stylesheet后再渲染,所以影响用户体验
(2)多用link标签,少用@import 6,把scripts放在后面
(1)脚本执行占用时间,导致页面加载缓慢
(2)加快stylesheet渲染页面
(3)使用多个子域名或者cdn,增加浏览器并发下载数目,但script只能单独下载,无法并行 7,减少css的运算表达式 8,把javascript和css放在外部文件
(1)css和js能轻易被浏览器缓存
(2)资源复用等 9,减少dns查询
(1)dns查询结果包含ttl值,表示保持时间,浏览器有记录缓存 10,减小javascript代码
压缩,混淆,删掉无用代码片段,可用JSMin工具或Dojo Compressor 11,减少3xx跳转(服务器端用alias等方式替代) 12,防止script被多次引用 13,设置ETag
服务器 -> 浏览器 ETag: "10c24bc-4ab-457e1c1f"
浏览器 -> 服务器 If-None-Match: "10c24bc-4ab-457e1c1f" 14,使Ajax可缓存,优化ajax

附:关于网站建设整理:(各个组件的一些解决方案)

1,原型设计Axure
2,后端MVC框架(codeigniter/yii/ruby on rails等)
3,前端框架bootstrap(css),jquery(javascript),yaml(css)等
4,持久化数据库(mysql数据表设计,读写分离,合适存储引擎,慢查询日志,数据库连接池,索引,通过业务实现分表分库);缓存数据库(redis/mongodb等)
5,缓存方案(数据缓存memcache/redis,文件缓存squid/varnish)
6,消息队列(redis/zeromq/httpsqs等),任务调度(zeromq/gearman等)
7,文件存储(磁盘大文件存储+mongodb小文件存储)
8,搜索引擎(lucene/nutch/elasticsearch等)
9,SEO优化(添加ga统计代码等)
10,虚拟化(xen或lxc或kvm)
11,日志处理:分布式日志搜集(facebook的scribe)日志统计处理(awk/hadoop/elasticsearch/storm)
12,监控(glances,nagios,zabbix,查看网络IO,磁盘IO,cpu,磁盘剩余,内存占用等参数)
13,负载均衡(F5/lvs/nginx/Haproxy热备)
14,装机策略(系统盘和重要的数据盘做raid10),操作系统centos
15,网络安全(程序以nobody权限运行,禁止root账户操作现网,防ddos攻击,防xss注入攻击,及时更新各个软件,改变ssh等常用软件的端口)

< high performance web sites > 阅读小记的更多相关文章

  1. Yslow 之 高性能网站建设指南(High.Performance.Web.Sites)

    一个朋友做了2年前端重构,不知道 YSLOW.我推荐给他的时候,他惊呼这工具很强大. YSLOW 只是 Yahoo 前端发布的一个评测网站前端质量的插件.它的原理是基于 Yahoo 前端工程师提出来的 ...

  2. Microsoft Azure Web Sites应用与实践【4】—— Microsoft Azure网站的“后门”

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  3. Microsoft Azure Web Sites应用与实践【1】—— 打造你的第一个Microsoft Azure Website

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  4. Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  5. Microsoft Azure Web Sites应用与实践【3】—— 通过Visual Studio Online在线编辑Microsoft Azure 网站

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  6. 把Orchard部署到Windows Azure Web Sites

    很久前就想做个人站点,主要用来记录自己的生活,我喜欢摄影,烘焙…然后又刚刚入皮坑,这些都可以放在网站上展示一下,或许还能为自己带来收入. 然后手上刚好有Azure的试用,于是乎动力就上来了. 以下是部 ...

  7. [Windows Azure] Windows Azure Web Sites, Cloud Services, and VMs: When to use which?

    This document provides guidance on how to make an informed decision in choosing between Windows Azur ...

  8. 比较Windows Azure 网站(Web Sites), 云服务(Cloud Services)and 虚机(Virtual Machines)

    Windows Azure提供了几个部署web应用程序的方法,比如Windows Azure网站.云服务和虚拟机.你可能无法确定哪一个最适合您的需要,或者你可能清楚的概念,比如IaaS vs PaaS ...

  9. yii 2.0 代码阅读 小记

    1.\yii\base\object 设置了get/set属性...使用getName()获取属性名..构造函数中使用config初始化属性 2.\yii\base\Component 继承自Obje ...

随机推荐

  1. 电脑硬件扫盲--CPU 显卡

    CPU: 主要2个厂商 Inter:core(酷睿) > pentinum(奔腾) > celeron(赛扬) AMD:athlon(速龙) > semporn(闪龙) 主频(GHz ...

  2. 如何重启MySQL服务,正确重启mysql

    RedHat Linux (Fedora Core/Cent OS) 1.启动:/etc/init.d/mysqld start 2.停止:/etc/init.d/mysqld stop 3.重启:/ ...

  3. DjangoORM一对多&多对多操作

    简要说明 通过操作对象的方式操作数据库 详细步骤 models.py的结构是: 如果models.py中外键定义没有写 related_name='student_teacher', 可以直接用 st ...

  4. SQL Server Mysql 对null值理解的不同

    在说到对null值的理解主要是用unique来体现的.也是说null在unique约束看来是一个值还是多个值的问题. 还是开始实验吧. MYSQL create table t(x int ,cons ...

  5. Linux 硬盘、网卡

    根据硬盘接口的不同,在Liunx中会有不同的命名 IDE 接口的硬盘会被叫成: hda,hdb,hdc (hd -- hard disk) hda 表示第一块硬盘,hdb表示第二块硬盘! 一般来说我们 ...

  6. Zepto Api参考

    zepto API参考 简介 Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 设计目的 ze ...

  7. Windows 8.1 正式版微软官方原版镜像下载(新增10/17新版下载)

    中文版:中国区OEM预装版本,特定国家版,锁定语言,其它功能和核心版没有区别.简体中文单语言版:锁定语言,其它功能和核心版没有区别.专业版+核心版[零售版][推荐]:镜像内包含专业版(Professi ...

  8. 文件保护DEP

    文件保护DEP数据执行保护(DEP)引起的电脑故障一例 症状:双击桌面上的“我的电脑”.“我的文档”等,explorer.exe重新起动,反复如此,简单说就是“我的电脑”打不开,一双击桌面上就啥都没有 ...

  9. 腾讯出品的抓包工具Rythem

    Mac下一直没有fiddler这样好用的抓包工具,Charles要收费,难免不爽,昨天调研国内项目的时候,看到腾讯开源了一款抓包工具Rythem,试用了一下,基本配置无问题,但是通配符方面不太搞的定. ...

  10. hdoj 2546 饭卡(0-1背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546 思路分析:该问题为0-1背包问题的变形题:问题求余额最少,设开始的余额为V,则求得用V-5可以买 ...