You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
//first to open gzip servicegzipongzip_http_version1.0;gzip_disable"MSIE [1-6].";gzip_typestext/plainapplication/x-javascripttext/csstext/javascriptapplication/x-httpd-phpimage/jpegimage/gifimage/png;
前言
上篇写到:
在网页性能优化的过程中,我们可以通过在服务器配置cdn或者缓存来达到优化性能的作用。
cdn有些专门的网站提供这类的服务,而缓存在整个过程中起到很大的作用,相信我们之后还能了解这个东西的用处。
正文
这篇文章主要了解一下压缩文件,以及一些写法上的规范来优化网页的性能。
1. gzip压缩
gzip压缩是http协议上的gzip压缩编码技术。首先,我们应该要清楚的是压缩可以达到怎样的目的。比如说纯文本内容进行压缩之后,大小可以缩小大概40%左右。大小减小了最直接的就是传输的速度将会加快,以及流量将会减少。尤其是对于大流量类网站来说,压缩文件内容大小,减少流量是很有必要的(毕竟省钱嘛!),另一方面,压缩过的内容将减少存储空间。
那一般gzip压缩需要如何实现呢?一般会在www服务器上配置服务,然后将压缩过的文件传输到客户端,由客户端进行内容的显示。比方说nginx服务器就可以进行gzip配置,默认会压缩text/html的文件进行压缩,当然了,对于图片资源也是可以进行压缩的,这需要进行一下配置。
需要注意的是:
gzip_http_version默认是1.1的,即只有http/1.1的协议才能进行gzip压缩。如果使用了proxy_pass进行反向代理,那么nginx和后端的upstream server之间是用HTTP/1.0协议通信的。如果使用nginx通过反向代理做Cache Server,前端的nginx没有开启gzip,且后端的nginx上未设置gzip_http_version为1.0,那么Cache的url将不会被gzip压缩。
IE6对于部分的gzip压缩文件由兼容性的问题(其实,这个可以不谈,因为IE6感觉都不用了)。
在HTTP1.1中使用gzip的方式:
请求头:
响应头:
2. css、script标签位置规范的问题
如何正确的使用css标签和script标签?css标签应该放在head标签内,而script标签应该放在body标签的末尾。
在搞清楚为什么这两个标签要这么去放置之前,我们先来了解一下网页文件的渲染过程:
这里有还有两个点需要搞清楚的是:
总结
该篇总结了优化网页的两种方法:1. gzip压缩 2. css文件放在头部、js文件放在尾部
The text was updated successfully, but these errors were encountered: