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數據,想要原始數據(即文本文件,能看懂的)