网站前端和后台性能优化13

简介: 设定ETags (Configure ETags)

设定ETags (Configure ETags)

tag:server

实体标签(ETags)是服务器和浏览器用于确定浏览器中缓存的组件和服务器中的是否对应的一种机制。("entity"是组件的另一种说法:图片、脚本、样式表等等)添加 ETags用于辨别组件提供了比单纯利用“最后修改时间”更为灵活的机制。ETag

是一个唯一标识组件的特定版本的字符串。它的唯一格式规范是字符串必须被引号引用。来源服务器使用ETag响应头来设定一个组件的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传回来源服务器。如果ETag匹配了,会返回一个304状态码,在这个例子里它会减少12195个字节的响应:

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

ETag的问题是它们往往在网站的一个服务器中被设为唯一的,当浏览器从一个服务器得到了组件并在稍后试图到另一个服务器验证时,ETag会不匹配,而这在使用多个服务器来处理请求的网站中是很常见的。默认情况下,Apache和IIS在ETag中嵌入的数据戏剧性的减少了应用多台服务器的网站的ETag验证成功几率。

Apache1.3和2.新版本的ETag格式是inode-size- timestamp。虽然一个给定的文件在多台服务器中处于同一个目录,而且有同样的大小,权限,时间戳,但它的inode在不同服务器中是不同的。

IIS5.0和6.0有同样的问题。IIS中ETag的格式是Filetimestamp:ChangeNumber。 ChangeNumber用来跟踪IIS配置的改变次数。一个网站的所有IIS不可能有相同的ChangeNumber。

这导致的结果是,Apache和IIS对完全相同的组件产生的ETag在不同服务器间不能匹配。如果ETags不匹配,用户不会得到小而快的304响应,而是一个普通的200响应和组件的所有数据。如果你把你的网站放在了一个服务器里,这不会是一个问题。但如果你的网站有多台服务器,而且你使用了Apache和IIS 默认的ETag配置,你的用户会访问页面的速度会变慢,你的服务器加载的程度更高,消耗了更大的带宽,代理服务器不能有效的缓存你的内容。即使你的组件有一个ar future Expires头部,当用户重载或者刷新页面时,依然会发送一个GET请求。

如果你不打算利用ETags提供的灵活的验证模式,你最好把ETag统统移除。Last-Modified头部的验证方式给予组件的时间戳。移除ETag 同时减少响应和随后的请求中的HTTP头部大小。这篇微软的支持文档描述了怎样在IIS中移除 ETags。在Apache中,你只要在Apache配置文件中添加如下一行:

FileETag none

目录
相关文章
|
30天前
|
前端开发 JavaScript 数据安全/隐私保护
推荐6款超级好看的开源中后台前端框架
推荐6款超级好看的开源中后台前端框架
50 0
|
1月前
|
前端开发 开发者 UED
探讨前端框架的性能优化策略
随着前端技术的快速发展,前端框架在项目中的地位愈发重要。本文将深入探讨前端框架的性能优化策略,包括减少重绘重排、懒加载、代码分割等方面的技术手段,帮助开发者更好地提升前端应用的性能表现。
|
2月前
|
缓存 前端开发 JavaScript
前端开发中常见的性能优化技巧
【2月更文挑战第2天】在当今互联网高速发展的时代,前端开发越来越受到重视。为了提升网站和应用的性能,前端开发人员需要掌握一些关键的性能优化技巧。本文将介绍前端开发中常见的性能优化技巧,帮助开发者更好地提升用户体验。
|
2月前
|
缓存 前端开发 UED
探索前端开发中的性能优化技巧
在当今互联网时代,用户对于网页加载速度和性能的要求越来越高。本文将介绍一些前端开发中常用的性能优化技巧,包括代码压缩与合并、图片优化、懒加载、缓存机制等,帮助开发者提升网页的加载速度和用户体验。
23 1
|
3月前
|
缓存 前端开发 JavaScript
探索前端开发的性能优化之道
在当今数字化时代,快速加载和高效运行的网页对于用户体验至关重要。本文将介绍一些前端开发中的性能优化技巧,帮助开发人员提升网页的加载速度和响应能力,提供更流畅的用户体验。
|
3月前
|
缓存 编解码 前端开发
前端开发的速度之道:性能优化技巧
在前端开发中,性能优化是至关重要的。本文将介绍一些高效的前端开发技巧,帮助开发者提升网站或应用程序的性能和用户体验。通过合理的代码编写、资源加载策略、图片优化等手段,你可以轻松优化前端性能,提升页面加载速度和响应能力。
|
3月前
|
缓存 前端开发 JavaScript
前端开发中的性能优化技巧——从页面加载速度到用户体验
在当今互联网时代,用户对于网站的访问速度和体验要求越来越高,而前端开发中的性能优化技巧则成为了不可或缺的一部分。本文将从页面加载速度、代码压缩与合并、图片优化、缓存策略以及浏览器渲染优化等几个方面,为大家详细介绍如何提升网站的性能和用户体验。
49 1
|
2月前
|
缓存 前端开发 JavaScript
前端开发中常见的性能优化技巧
在当今互联网时代,用户对于网页加载速度和交互体验越来越苛刻。本文将介绍前端开发中常见的性能优化技巧,旨在帮助开发者提升网页性能,提供更好的用户体验。从减少HTTP请求、压缩资源文件、优化图像加载等方面探讨了一系列实用的优化策略。
65 1
|
2月前
|
缓存 前端开发 JavaScript
前端开发中的性能优化策略
在当今Web应用程序开发中,性能优化是至关重要的一环。本文将介绍前端开发中的性能优化策略,包括减少HTTP请求、利用CDN加速、优化图片和视频、缓存策略等方面的具体技术手段,帮助开发者更好地提升网站性能。
|
3月前
|
缓存 前端开发 JavaScript
构建可靠的前端工程:自动化、代码质量与性能优化
构建可靠的前端工程:自动化、代码质量与性能优化
构建可靠的前端工程:自动化、代码质量与性能优化