找回密码
 立即注册

QQ登录

只需一步,快速开始

主机交流Megalayer兑换位02兑换位03
兑换位04兑换位05兑换位06兑换位07
楼主: Globaldc

网页加速的 14 条优化法则

[复制链接]

602

主题

59

回帖

2790

积分

超级版主

积分
2790

最佳新人活跃会员热心会员推广大使宣传大使灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2020-7-19 01:15:07 | 显示全部楼层
本帖最后由 Globaldc 于 2020-7-19 01:16 编辑

法则 11. 避免重定向
重定向功能是通过 301 和 302 这两个 HTTP 状态码完成的,如:
           HTTP/1.1 301 Moved Permanently
           Location: http://example.com/newuri
           Content-Type: text/html
浏览器自动重定向请求到 Location 指定的 URL 上,重定向的主要问题是降低了 用户体验。
一种最耗费资源、经常发生而很容易被忽视的重定向是 URL 的最后缺少/,如访 问[url=http://www.safecdn.cn]http://www.safecdn.cn[/url]/as 将被重定向到 [url=http://www.safecdn.cn]http://www,safecdn.cn/astrology/[/url]。在 Apache 下,可以通过 Alias, mod_rewrite 或 DirectorySlash 等方式来解决该问题。
GDC主机交流论坛 https://www.globaldc.cn/
回复

使用道具 举报

602

主题

59

回帖

2790

积分

超级版主

积分
2790

最佳新人活跃会员热心会员推广大使宣传大使灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2020-7-19 01:16:59 | 显示全部楼层

     
法则 12. 删除重复的脚本文件
在一个页面中包含重复的 JS 脚本文件会影响性能,即它会建立不必要的 HTTP
请求和额外的 JS 执行。
不必要的 HTTP 请求发生在 IE 下,而 Firefox 不会产生多余的 HTTP 请求。额外 的 JS 执行,不管在 IE 下,还是在 Firefox 下,都会发生。
一个避免重复的脚本文件的方式是使用模板系统来建立脚本管理模块。除了防止 重复的脚本文件外,该模块还可以实现依赖性检查和增加版本号到脚本文件名 中,从而实现超长的过期时间。
GDC主机交流论坛 https://www.globaldc.cn/
回复

使用道具 举报

602

主题

59

回帖

2790

积分

超级版主

积分
2790

最佳新人活跃会员热心会员推广大使宣传大使灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2020-7-19 01:17:09 | 显示全部楼层

法则 13. 配置 ETags
ETags 是用于确定浏览器缓存中元素是否与 Web server 中的元素相匹配的机制, 它是比 last-modified date 更灵活的元素验证机制。ETag 是用于唯一表示元素 版本的字符串,它需被包括在引号中。Web server 首先在 response 中指定 ETag:
           HTTP/1.1 200 OK
           Last-Modified: Tue, 12 Dec 2006 03:03:59 GMT
           ETag: "10c24bc-4ab-457e1c1f"
           Content-Length: 12195
后来,如果浏览器需要验证某元素,它使用 If-None-Match 头回传 ETag 给 Web server,如果 ETag 匹配,则服务器返回 304 代码,从而节省了下载时间:
           GET /i/yahoo.gif HTTP/1.1
           Host: us.yimg.com
           If-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMT
           If-None-Match: "10c24bc-4ab-457e1c1f"
           HTTP/1.1 304 Not Modified
ETags 的问题在于它们是基于服务器唯一性的某些属性构造的,如 Apache1.3 和 2.x,其格式是 inode-size-timestamp,而在 IIS5.0 和 6.0 下,其格式是 Filetimestamp:ChangeNumber。这样同一个元素在不同的 web server 上,其 ETag 是不一样的。这样在多 Web server 的环境下,浏览器先从 server1 请求某元素, 后来向 server2 验证该元素,由于 ETag 不同,所以缓存失效,必须重新下载。
因此,如果您未用到 ETags 系统提供的灵活的验证机制,最好删除 ETag。删除 ETag 会减少 http response 及后续请求的 HTTP 头的大小。微软支持文章描述了 如何删除 ETags,而在 Apache 下,只要在配置文件中设置 FileETag none 即可。
GDC主机交流论坛 https://www.globaldc.cn/
回复

使用道具 举报

602

主题

59

回帖

2790

积分

超级版主

积分
2790

最佳新人活跃会员热心会员推广大使宣传大使灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2020-7-19 01:18:06 | 显示全部楼层


法则 14. 缓存 Ajax
性能优化法则同样适用于 web 2.0 应用。提高 Ajax 的性能最重要的方式是使得 其 response 可缓存,就象“法则 3 增加 Expires Header”讨论的那样。以下其 他法则同样适用于 Ajax,当然法则 3 是最有效的方式:
法则 4. 压缩页面元素
法则 9. 减少 DNS 查询次数
法则 10. 最小化脚本文件
法则 11. 避免重定向
法则 13. 配置 ETags.
GDC主机交流论坛 https://www.globaldc.cn/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|GDC主机交流论坛_GDC之家

GMT+8, 2024-4-26 19:29 , Processed in 0.054183 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表