gzip是HTML压缩算法的一种,HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩工作原理是:Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;如果
2. 1.开GZIP有什么好处
启用Gzip压缩的好处
它的好处显而易见,提高网页浏览速度,无论是之前说的精简代码、压缩图片都不如启用Gzip来的实在。
Gzip压缩效率非常高,通常可以达到70%的压缩率,也就是说,如果你的网页有30K,压缩之后就变成了9K左右
3. 如何实现,读取远程文件,用GZIP压缩后保存成文件
/// <summary>
/// 文件下载
/// </summary>
/// <param name="filename">文件名称</param>
public void FileDownLoad(string filename)
{
//本地文件夹
string baseLocation = Server.MapPath("~/UpFile/");
//文件名称
FileInfo fileInfo = new FileInfo(baseLocation + filename);
//文件存在
if (fileInfo.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileInfo.Name, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.Filter.Close();
Response.WriteFile(fileInfo.FullName);
//下载次数+1
string sql = "update ZYWJ set XZCS=XZCS+1 where WJMC1='" + filename + "'";
int R = DAL.DBHelper.GetScalar(sql);
if (R > 0)
{
//查询是否已经下载过
string sql3 = "select * from TempZYXZ where HYUserName='" + Session["UserName"].ToString() + "' and ZYWJM='" + filename + "'";
DataTable dt3 = DAL.DBHelper.GetDataSet(sql3);
if (dt3.Rows.Count > 0)
{
//修改单个下载次数
string sql4 = "update TempZYXZ set XZCS =XZCS+1 where HYUserName='" + Session["UserName"].ToString() + "' and ZYWJM='" + filename + "'";
DAL.DBHelper.GetScalar(sql4);
}
//没有下载过
else
{
//积分-10
string sql2 = "update HYUser set HYJF=HYJF-10 where HYLoginName ='" + Session["UserName"].ToString() + "'";
DAL.DBHelper.GetScalar(sql2);
//保存下载的文件
string sql5 = "insert into TempZYXZ (HYUserName,ZYWJM,XZCS) values('" + Session["UserName"].ToString() + "','" + filename + "',1) select Id =@@IDENTITY;";
DAL.DBHelper.GetScalar(sql5);
}
Response.Flush();
Response.Clear();
Response.End();
}
else
{
Page.ClientScript.RegisterStartupScript(typeof(Page), "", "<script>alert('对不起,服务器正在升级!');window.close();;</script>");
}
}
else
{
Page.ClientScript.RegisterStartupScript(typeof(Page), "", "<script>alert('对不起,资源文件不存在或已被删除!');window.close();;</script>");
}
}
4. 请教http response包gzip编码的问题
如何解决http封包中gzip编码的html 大家都知道,在默认模式下,http协议中发送的网页的Html代码是经过gzip编码后传送的。那么我们怎么才能回复这段编码后的html呢? 大家可能都知道linux下有一个gzip命令。可以把文件压缩成gzip编码的格式
5. wireshare抓到http的gzip怎样将该数据还原
服务器给你发的是gzip类型的,把这个这实体数据解压缩
原始数据-->被gzip=gzip数据,想要原始数据(即文本文件,能看懂的)