Site in Practical: Sub Site for Static Content

风行水上 @ 2014-09-07 18:08:19
标签:

    静态资源是网站内容的重要组成部分,其所占流量可能是最大的,对站点整体性能的影响也可能是最大的。

    静态资源面临的挑战

    • 资源的访问速度
    • 资源的客户端缓存
    • 资源的预处理和变换
    • 资源数量的“大数据”

    静态资源专用子域名

    静态资源如此重要,为静态资源专门建立一个子站就有了相应的意义。

    比如,建立一个"http://static.site.com/"的子域名专门用于处理静态资源。

    这样做,最直接的好处是可以减少静态资源请求时的Cookie数量。

    在同一台服务器上配置静态资源服务器

    <VirtualHost *:80>
    ServerName  www.site.com
    ServerAlias site.com
    </VirtualHost>
    
    <VirtualHost *:80>
    ServerName  static.site.com
    </VirtualHost>
    

    客户端缓存

    对Apache服务器来说,通过下列配置以:

    • 关闭默认的ETag响应头,以避免对静态资源的多次请求
    • 设置Expire响应头,以通知浏览器进行资源缓存
    • 设置文本资源的压缩(默认可能已经启用)
    FileETag None
    
    <IfModule mod_expires.c>
    ExpiresActive On
    # 15 min for development
    ExpiresByType image/gif       A900
    ExpiresByType image/png       A900
    ExpiresByType image/jpeg      A900
    ExpiresByType text/css        A900
    ExpiresByType text/javascript A900
    </IfModule>
    
    <IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml
    AddOutputFilterByType DEFLATE text/css text/javascript application/javascript
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/xml
    </IfModule> 
    

    图片缩略图

    图片的体积通常都比较大,而图片用于显示时常常是不需要显示原图的,而是体积和质量都略差的缩略图就够了。

    因此需要一个专门用于生成缩略图的服务。这项工作的难度主要是数据量大的时候的应对。

    CDN提供商七牛云存储的亮点之一就是图片和视频的自动处理服务。

    CDN内容分发网络

    CDN最初是为了解决由网络分布引起的网络延迟问题。但随着CDN服务商的成长,也逐步体现出静态数据中心的作用,

    • 减少静态资源的网络延迟
    • 减轻自身服务器的负荷
    • 减少静态资源的备份负担
    • 托管静态资源的预处理(filter)功能
    标签:

      分享到:
      comments powered by Disqus

      43/45ms