PDA

View Full Version : اعمال فشرده سازي GZIP & Deflate روي وب سايت با كپي يك فايل (دانلود)



bahman_akbarzadeh
دوشنبه 29 تیر 1388, 14:22 عصر
سلام
با اين تابع كه در Global.asax قرار ميگيره، ميتونين تا 80% فشرده سازي روي صفحاتتون انجام بدين.



<%@ Application Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.IO.Compression" %>

<script runat="server">

void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
string acceptEncoding = app.Request.Headers["Accept-Encoding"];
Stream prevUncompressedStream = app.Response.Filter;

if (!(app.Context.CurrentHandler is Page) ||
app.Request["HTTP_X_MICROSOFTAJAX"] != null)
return;

if (acceptEncoding == null || acceptEncoding.Length == 0)
return;

acceptEncoding = acceptEncoding.ToLower();

if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
{
// defalte
app.Response.Filter = new DeflateStream(prevUncompressedStream,
CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "deflate");
}
else if (acceptEncoding.Contains("gzip"))
{
// gzip
app.Response.Filter = new GZipStream(prevUncompressedStream,
CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "gzip");
}
}

</script>


البته از اين فايل هم ميتونين براحتي استفاده كنين.
فقط كافيه تو پوشه اصلي كپي كنين.

bahman_akbarzadeh
دوشنبه 29 تیر 1388, 18:02 عصر
براي شناسايي ميزان فشرده سازي با استفاده از GZIP و Deflate در سايت آپلود شده، ميتونيد از آدرس زير استفاده كنين :
http://www.gidnetwork.com/tools/gzip-test.php
مثلا با تست آدرس www.yahoo.com (http://www.yahoo.com) اين نتيجه رو ميده :

Results for: www.yahoo.com (http://www.yahoo.com/)

Web page compressed? Yes
Compression type? gzip
Size, Markup (bytes) 9,561
Size, Compressed (bytes) 2,147
Compression 77.5%

sav68.net
چهارشنبه 01 مهر 1388, 21:14 عصر
سلام دوستان

من وقتي از اين روش استفاده ميكنم ديگه عكسهاي سايتم لود نميشه!

يكبار هم آقاي بهروز راد يك همچين روشي را آموزش داده بودند كه با اون هم همين مشكل رو داشتم

كسي از دوستان نميدونه بايد چكار كنم تا اين مشكل پيش نياد؟

nazaninam
چهارشنبه 01 مهر 1388, 21:31 عصر
از این روش استفاده کن :
http://www.how2learnasp.net/article.aspx?code=5068c4c6-b402-4b28-bec0-a62eac58151d

bahman_akbarzadeh
پنج شنبه 02 مهر 1388, 18:42 عصر
من که با این کد، به هیچ مشکلی بر نخوردم.
میتونید تو آخرین وب سایتم ببینید :

http://waterpatt.mahabsamen.com

فقط با IE 6 ، وقتی از دکمه Back استفاده میکنیم، بعضی وقت ها، Encoding صفحه به هم میریزه، که اونم مطمئن نیستم از این باشه.

maryam_272
چهارشنبه 08 مهر 1388, 11:10 صبح
با سلام
من زیاد c# بلد نیستم اگه واستون امکان داره توابع vb.net را هم تو این بخش بگذارید ممنون میشم

explod_javad
چهارشنبه 08 مهر 1388, 13:41 عصر
سلام
میتونی توی سایت زیر کد ها رو به هم تبدیل کنی.
http://www.developerfusion.com/tools/convert/csharp-to-vb/

behiunforgiven
پنج شنبه 25 فروردین 1390, 11:30 صبح
سلام

با تشکر از شما من از کدتون استفاده کردم و با سایتی که آقای بهمن اکبرزاده گفتند تست کردم، نتیجه خوب بود ولی نوع زیپ رو برای صفحه من deflate مینویسه و Gzip نیست.

میخواستم بدونم میتونید فرق این دو رو بگید؟

javad_mjt
پنج شنبه 25 فروردین 1390, 11:43 صبح
سلام
من وقتی از این روش استفاده می کنم دستوراتی که با jquery نوشتم دچار مشکل میشه
در واقع فایل jquery.14.. رو نمی تومه شناسایی کنه