电影网网站优化-ETAG篇
什么是Etag?
在HTTP1.1中有介绍,主要的作用就是在(css file, image, javascript file)文件后面添加一个唯一的参数(相当于查询参数字符串),Etag有服务器端生成,并且随着文件的改变而改变,这样浏览器端就会只重新请求获取Etag发生变化的文件,减少浏览器端数据的流量,如果Etag没有变化,浏览器就会直接读取本地缓存,以加快浏览器的反应速度,重要的是减轻服务器端的压力,所以服务器端Etag的实现就比较重要了。
对于Apache和Lighttpd中怎样配置Etag,网上的文章很多,但对于IIS就没那么走运了, 只能写个ISAPI Filter来解决。
对于单台WEB服务器而言,就没有必要设置了,但对于使用了负载均衡机制,每台WEB服务器都会返回各自的Etag,实在比较讨厌。没有办法,最好的办法是去掉Etag了。
主要的代码如下:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <httpfilt.h>
DWORD
DoSendResponse(
HTTP_FILTER_CONTEXT * pfc,
HTTP_FILTER_SEND_RESPONSE * pResponse
);
BOOL WINAPI __stdcall GetFilterVersion(HTTP_FILTER_VERSION *pVer)
{
pVer->dwFlags = ( SF_NOTIFY_ORDER_LOW | SF_NOTIFY_SEND_RESPONSE );
pVer->dwFilterVersion = HTTP_FILTER_REVISION;
strcpy(pVer->lpszFilterDesc, "Remove ETAG Header ISAPI filter, Version 1.0");
return TRUE;
}
DWORD WINAPI __stdcall HttpFilterProc(HTTP_FILTER_CONTEXT *pfc, DWORD NotificationType, VOID *pvData)
{
switch (NotificationType)
{
case SF_NOTIFY_SEND_RESPONSE :
return DoSendResponse(
pfc,
(HTTP_FILTER_SEND_RESPONSE *) pvData
);
default :
break;
}
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
DWORD
DoSendResponse(
HTTP_FILTER_CONTEXT * pfc,
HTTP_FILTER_SEND_RESPONSE * pResponse
)
{
BOOL fRes = TRUE;
DWORD dwError;
fRes = pResponse->SetHeader(
pfc,
"ETAG:",
""
);
if ( !fRes )
{
dwError = GetLastError();
pfc->pFilterContext = (LPVOID)(DWORD64)pResponse->HttpStatus;
}
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
注意编译好之后的dll要给IIS_WPG账号适当的权限, 不然IIS加载不了这个dll。
以下是电影网(http://www.m1905.com/)的yslow截图
转载于:https://www.cnblogs.com/liuhongqing/archive/2009/04/15/1436604.html
电影网网站优化-ETAG篇相关推荐
- 电影网网站优化-SEO篇
下面是针对电影网(http://www.m1905.com/)SEO优化的几个主要步骤 1.关键词分析(也叫关键词定位) 关键词分析包括:关键词关注量分析.竞争对手分析.关键词与网站相关性分析.关键词 ...
- 电影网网站优化-系统优化篇
2008年11月中旬,我们重新设计了电影网(http://www.m1905.com/)网站架构,将原来的单点结构调整到双击双机备份机制,原来是电信网通各一台机器,分设在两个机房.后统一迁入到双线机房 ...
- 电影网网站优化-图片适配篇
鉴于一张图片,会在多个地方引用,所以电影网(http://www.m1905.com/)大量采用了图片适配系统, img采用类似的形式调用:src="http://pic.m1905.com ...
- 电影网网站优化-相关链接篇
以前,在电影网(http://www.m1905.com)每条资讯下面的相关链接,我们采用的是实时动态调取最新的相关信息,在不影响用户浏览的情况下,用js的方式加载相关内容. 如下图: 后来,分析网易 ...
- ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL
ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL 引言--- 在现今搜索引擎制霸天下的时代,我们不得不做一些东西来讨好爬虫,进而提示网站的排名来博得一个看得过去的流 ...
- 移动端seo优化,来自对百度移动搜索建站优化白皮书的整理
文章是本人对百度资源平台推出的<百度移动搜索建站优化白皮书>的整理, 为了自己能更好的了解移动端建站和优化方法:特意看了几次<百度移动搜索建站优化白皮书>: 下面是个人对该文的 ...
- HTML5期末大作业:零食官网网站设计——美食零食官网(6页) html网页制作期末美食作业成品_小吃类网页设计期末作业
HTML5期末大作业:零食官网网站设计--美食零食官网(6页) html网页制作期末美食作业成品_小吃类网页设计期末作业 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. ...
- Java、JSP电影订票网站的设计与开发
技术:Java.JSP等 摘要: 在精神文明建设越来越被人们重视的今天,电影行业的市场也越来越好,电影的种类和数量也随之越来越多.然而客流量增大同时也导致影院的管理难度增大,为了应对这种情况,设计并开 ...
- 【转帖】2004年度电影作品盘点之好莱坞篇
发信人: Chapman (任何人都可以变的狠毒,只要你?, 信区: movie 标 题: [转帖]2004年度电影作品盘点之好莱坞篇 发信站: 饮水思源 (2005年01月15日14:58:59 ...
最新文章
- CUCM号码转换实验
- mstsc /console超出最大允许连接数(远程桌面不能连接)解决方法
- LeetCode 2071. 你可以安排的最多任务数目(二分查找)
- 指纹识别 python_python 网站指纹识别
- 实现Modbus TCP多网段客户端应用
- 消息处理(异步调用OneWay, 双向通讯Duplex)
- Spring整合ActiveMQ之嵌入(二)
- Java怎样获项目路径_java项目中获取路径的方式
- poEdit: Windows下的.po文件编辑器
- raspberrypi连接神经计算棒人脸识别
- IM云通信行业步入快车道,融云或将和Twilio一样实现资本上市
- android.media.MediaCodec$CodecException: Error 0xfffffc0e
- python走迷宫_python-走迷宫
- 微信公众号抓取研究----使用xposed程序hook
- 深度学习笔记(一)了解深度学习
- Word奇偶页的页眉页脚设置
- 代码发布前后的注意事项
- future promise java_Future与Promise
- VS2017调试报错:当前页面的脚本发生错误
- 【已解决】Cause: jva.sql.SQLSyntaxErrorException:You have an error in your SQL sytax;check the nua that..
热门文章
- YEF思想秀:纳须弥于芥子,阐洞见于计算
- python自动化算法_基于Python语言和Abaqus平台的边坡可靠度计算自动化算法开发
- android项目大全,总有你所需的
- Java –如何读取文件的最后几行
- Mybatis分页功能 pagehelper插件
- 作为一名仓库管理人员,如何有效地管理仓库?
- 周鸿祎:恭喜腾讯穿铁裤衩 现在又养条狗
- Educational Codeforces Round 74 (Rated for Div. 2)
- Java面试题以及答案--- MongoDb
- php 正则表达式 菜鸟,正则表达式菜鸟教程.pdf