PDA

View Full Version : سوال: آیا شما استفاده از gzip برای تصاویر و فایلهای فلش را پیشنهاد می کنید؟



i-php-i
شنبه 14 خرداد 1390, 01:25 صبح
من برای فشرده کردن فایلهای متنی وب سایتم از gzip استفاده می کنم. سوالی که دارم اینه که آیا شما فشرده کردن فایلهایی فلش و تصاویر با فرمتهای مختلف رو مناسب می دونید یا نه؟

مثلا تصاویر jpeg به حد کافی فشرده شدن، آیا لازم هست که این تصاویر رو با استفاده از gzip مجددا فشرده کرد؟ در مورد سایر فرمتهای تصاویر و فایلهای فلش چه نظری دارید؟

سوال دیگه اینکه، آیا خروجی های html که از اسکریپتهای پی اچ پی گرفته می شن رو هم می شه فشرده کرد؟

لطفا توضیح بدید.

eshpilen
شنبه 14 خرداد 1390, 11:09 صبح
برای jpg و png و gif و بقیهء فایلهای تصویری فشرده و نیز فایلهای swf و فیلم و موسیقی و غیره نیازی نیست (مگر درمورد بعضی انواع غیرفشرده مثل wav که خیلی کم در وب پیدا میشن). همهء این فایلها از قبل فشرده هستن.
البته امکان داره بعضی از انواع این فایلها در بعضی مواقع بعللی فشرده سازی کافی نداشته باشن که در اینصورت این کسی که اونا رو آپلود میکنه هست که باید وارد باشه و متوجه این قضیه بشه و اونها رو توسط ابزارهای مربوطه فشرده تر کنه.


سوال دیگه اینکه، آیا خروجی های html که از اسکریپتهای پی اچ پی گرفته می شن رو هم می شه فشرده کرد؟ بله میشه.
برای صفحاتی که حجم یا متن زیادی دارن این عمل میتونه تا چند برابر حجم رو کم بکنه.
مثلا مثل خیلی از تاپیکهای همین فروم که متن زیادی توشون هست.

i-php-i
یک شنبه 15 خرداد 1390, 02:23 صبح
برای jpg و png و gif و بقیهء فایلهای تصویری فشرده و نیز فایلهای swf و فیلم و موسیقی و غیره نیازی نیست (مگر درمورد بعضی انواع غیرفشرده مثل wav که خیلی کم در وب پیدا میشن). همهء این فایلها از قبل فشرده هستن.
البته امکان داره بعضی از انواع این فایلها در بعضی مواقع بعللی فشرده سازی کافی نداشته باشن که در اینصورت این کسی که اونا رو آپلود میکنه هست که باید وارد باشه و متوجه این قضیه بشه و اونها رو توسط ابزارهای مربوطه فشرده تر کنه.

بله میشه.
برای صفحاتی که حجم یا متن زیادی دارن این عمل میتونه تا چند برابر حجم رو کم بکنه.
مثلا مثل خیلی از تاپیکهای همین فروم که متن زیادی توشون هست.
من برای فشرده کردن فایلها از این کد استفاده می کنم. با توجه به اینکه اسکریپتهای پی اچ پی پسوند php دارن و توی این کد از چنین فایلهایی اسمی برده نشده، آیا این کد خروجی html فایلهای پی اچ پی رو هم فشرده می کنه یا باید برای اینکار از کدهای دیگه ای استفاده کرد؟


<ifModule mod_deflate.c>
<filesMatch "\.(css|js|x?html?)$">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>

eshpilen
یک شنبه 15 خرداد 1390, 09:51 صبح
میتونی پسوند php رو هم بهش اضافه کنی تا خروجی فایلهای php هم فشرده بشه:

<ifModule mod_deflate.c>
<filesMatch "\.(css|js|php|x?html?)$">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>

ضمنا تستش هم کردم.

i-php-i
یک شنبه 15 خرداد 1390, 14:42 عصر
میتونی پسوند php رو هم بهش اضافه کنی تا خروجی فایلهای php هم فشرده بشه:

<ifModule mod_deflate.c>
<filesMatch "\.(css|js|php|x?html?)$">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>

ضمنا تستش هم کردم.
یعنی بدون اضافه کردن پسوند پی اچ پی به این کدها، خروجی فایلهای پی اچ پی که بصورت اچ تی ام ال هستن فشرده نمی شن؟


یه مسئله در مورد فشرده سازی تصاویر، من با استفاده از برنامه زیپ چندتا تصویر jpg رو روی سیستم خودم زیپ کردم و این کار باعث شد حجم تصاویر کمتر بشه. آیا این کار روی تصاویر سرور موثر نیست؟

eshpilen
یک شنبه 15 خرداد 1390, 16:44 عصر
یعنی بدون اضافه کردن پسوند پی اچ پی به این کدها، خروجی فایلهای پی اچ پی که بصورت اچ تی ام ال هستن فشرده نمی شن؟نه نمیشن. مگر اینکه جای دیگه ای دستور دیگری باشه.
این دستور داره از روی پسوند نوع فایلها رو انتخاب میکنه.


یه مسئله در مورد فشرده سازی تصاویر، من با استفاده از برنامه زیپ چندتا تصویر jpg رو روی سیستم خودم زیپ کردم و این کار باعث شد حجم تصاویر کمتر بشه. آیا این کار روی تصاویر سرور موثر نیست؟ چنتا رو با هم یا هرکدوم رو به تنهایی؟
باید یکی یکی به تنهایی زیپ کنید. در اینصورت ممکنه حجم مقداری کم بشه، ولی اغلب درحدی نیست که ارزش عملی داشته باشه.
البته قبلا هم گفتم که بعضی فایلها ممکنه بعللی فشرده سازی کافی روی اونا صورت نگرفته باشه. اینطور فایلها رو باید قبل از آپلود کردن، با برنامه هایی مثل فتوشاپ و حتی Paint بیشتر فشرده کرد. مثلا خودم قبلا یک دوربین دیجیتال داشتم که فایلهای خروجیش گرچه فرمت jpg بود ولی وقتی با Paint باز میکردی و دوباره سیو میکردی چند برابر فشرده میشدن. این فایلها رو وقتی زیپ هم میکردی مقدار قابل توجهی فشرده میشدن. بعضی از این فایلها ممکنه فقط بخاطر کیفیت بالا نباشه که حجمشون زیاده، بلکه فشرده سازی خوبی روی اونها صورت نگرفته (بقدر کافی با الگوریتم های مناسب پردازش نشدن). صرف اینکه پسوند و فرمت فایلی jpg هست دلیل نمیشه که یقینا بقدر کافی فشرده هم شده باشه.
یه راه خیلی موثر دیگه برای کم کردن حجم فایلهای تصویری، کاهش سایز و کیفیت اونهاست. مثلا بنده وقتی میخوایم عکسی رو با ایمیل ارسال بکنم یا توی وب بذارم حداکثر سایزی که استفاده میکنم 1024*768 هست و اگر حجمش بازم زیاد باشه کیفیتش رو هم مثلا 70% یا 50% میکنم. فایلهایی که از دوربین دیجیتال میگیرید اکثرا هم سایز بزرگی دارن و هم کیفیتشون بالاست.

i-php-i
یک شنبه 15 خرداد 1390, 21:46 عصر
نه نمیشن. مگر اینکه جای دیگه ای دستور دیگری باشه.
این دستور داره از روی پسوند نوع فایلها رو انتخاب میکنه.

چنتا رو با هم یا هرکدوم رو به تنهایی؟
باید یکی یکی به تنهایی زیپ کنید. در اینصورت ممکنه حجم مقداری کم بشه، ولی اغلب درحدی نیست که ارزش عملی داشته باشه.
البته قبلا هم گفتم که بعضی فایلها ممکنه بعللی فشرده سازی کافی روی اونا صورت نگرفته باشه. اینطور فایلها رو باید قبل از آپلود کردن، با برنامه هایی مثل فتوشاپ و حتی Paint بیشتر فشرده کرد. مثلا خودم قبلا یک دوربین دیجیتال داشتم که فایلهای خروجیش گرچه فرمت jpg بود ولی وقتی با Paint باز میکردی و دوباره سیو میکردی چند برابر فشرده میشدن. این فایلها رو وقتی زیپ هم میکردی مقدار قابل توجهی فشرده میشدن. بعضی از این فایلها ممکنه فقط بخاطر کیفیت بالا نباشه که حجمشون زیاده، بلکه فشرده سازی خوبی روی اونها صورت نگرفته (بقدر کافی با الگوریتم های مناسب پردازش نشدن). صرف اینکه پسوند و فرمت فایلی jpg هست دلیل نمیشه که یقینا بقدر کافی فشرده هم شده باشه.
یه راه خیلی موثر دیگه برای کم کردن حجم فایلهای تصویری، کاهش سایز و کیفیت اونهاست. مثلا بنده وقتی میخوایم عکسی رو با ایمیل ارسال بکنم یا توی وب بذارم حداکثر سایزی که استفاده میکنم 1024*768 هست و اگر حجمش بازم زیاد باشه کیفیتش رو هم مثلا 70% یا 50% میکنم. فایلهایی که از دوربین دیجیتال میگیرید اکثرا هم سایز بزرگی دارن و هم کیفیتشون بالاست.

اگر من قابلیت فشرده سازی تصاویر رو به کدها اضافه کنم، و تصویری به فشرده سازی نیاز نداشته باشه، آیا باز هم عملیاتی روی تصویر انجام می شه؟

eshpilen
دوشنبه 16 خرداد 1390, 20:40 عصر
بله چون شما دستور میدید دستور شما اطاعت میشه :چشمک:

میتونید با چنین کدی تست کنید:


<?php

$host='localhost';

$file='/t.jpg';

$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)\n";
} else {
$req = "GET $file HTTP/1.1\r\n";
$req .= "Host: $host\r\n";
$req .= "Connection: Close\r\n";
$req .="Accept-encoding: gzip,deflate\r\n\r\n";
fwrite($fp, $req);
echo '<pre>';
while (!feof($fp)) {
echo fgets($fp, 128);
}
echo '</pre>';
fclose($fp);
}
?>

برای تست باید ابتدا فشرده سازی برای پسوند jpg رو فعال کنید.
بعد اگر این برنامه رو اجرا کنید، در هدرهای خروجی Content-Encoding: gzip دیده میشه که نشون میده دیتای تصویر فشرده شده. اگر فشرده سازی تصاویر jpg رو غیرفعال کنید میبینید که این هدر ناپدید میشه و ظاهر دیتای ارسال شده هم تغییر میکنه.

eshpilen
دوشنبه 16 خرداد 1390, 21:06 عصر
البته دقت کنید که فشرده سازی با اعلام آمادگی طرف مقابل برای دریافت دیتای فشرده شده انجام میشه. یعنی مرورگر در هدری به شکل Accept-encoding: gzip,deflate به سرویس دهنده اعلام میکنه که توانایی/تمایل برای دریافت دیتای فشرده شده رو داره. بخاطر همین ما در این برنامه این هدر رو ارسال کردیم. اگر ارسال نمیکردیم، دیتای غیرفشرده شده رو دریافت میکردیم. این فرایند در هر دو طرف Optional هست. اول مرورگر باید اعلام توانایی بکنه، بعد اگر سرور ساپورت میکرد و خواست این کار رو میکنه (دیتای فشرده شده ارسال میکنه).

i-php-i
دوشنبه 16 خرداد 1390, 22:16 عصر
البته دقت کنید که فشرده سازی با اعلام آمادگی طرف مقابل برای دریافت دیتای فشرده شده انجام میشه. یعنی مرورگر در هدری به شکل Accept-encoding: gzip,deflate به سرویس دهنده اعلام میکنه که توانایی/تمایل برای دریافت دیتای فشرده شده رو داره. بخاطر همین ما در این برنامه این هدر رو ارسال کردیم. اگر ارسال نمیکردیم، دیتای غیرفشرده شده رو دریافت میکردیم. این فرایند در هر دو طرف Optional هست. اول مرورگر باید اعلام توانایی بکنه، بعد اگر سرور ساپورت میکرد و خواست این کار رو میکنه (دیتای فشرده شده ارسال میکنه).
یکی از اصول سئو کم کردن درخواستها بین سرور و مروگر هست، اینطوری تعداد درخواستها افزایش پیدا می کنه.

راهی برای این مشکل نیست؟

eshpilen
سه شنبه 17 خرداد 1390, 08:33 صبح
اشتباه نکنید. برای این جریانات هیچ درخواست و پاسخی اضافه نمیشه.
مرورگر همراه هر درخواست این هدر رو میفرسته، سرور هم اگر فشرده سازی رو ساپورت میکرد و میخواست، پاسخ رو بصورت فشرده میفرسته و این مسئله رو در هدر مربوطه که همراه پاسخ ارسال میشه مشخص میکنه.

رضا قربانی
سه شنبه 17 خرداد 1390, 18:15 عصر
ببخشید که توی مبحث گرمتون پا گذاشتم.


به طور کلی من توی تمامی سایت ها به این صورت عمل می کنم که یه دوتا چیزش رو نمی دونم چیه ولی پیشنهاد من اینه . اگه ویرایش باید بشه ممنون می شم همین جا اعلام و ویرایشات لازم صورت بگیره و یه چیز کامل در اختیار عموم قرار بدیم . ثواب می کنیم به خدا :لبخند: :




<Limit POST PUT DELETE>
</Limit>
<LimitExcept POST GET>
</LimitExcept>



# BEGIN Compress text files
<ifModule mod_deflate.c>
<filesMatch "\.(css|js|php|x?html?)$">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>
# END Compress text files


# BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
# END Expire headers

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
<filesMatch "\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</filesMatch>
</ifModule>
# END Cache-Control Headers

# BEGIN Turn ETags Off
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
# END Turn ETags Off

# BEGIN Remove Last-Modified Header
<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>
# END Remove Last-Modified Header

idocsidocs
سه شنبه 17 خرداد 1390, 20:48 عصر
ببخشید که توی مبحث گرمتون پا گذاشتم.


به طور کلی من توی تمامی سایت ها به این صورت عمل می کنم که یه دوتا چیزش رو نمی دونم چیه ولی پیشنهاد من اینه . اگه ویرایش باید بشه ممنون می شم همین جا اعلام و ویرایشات لازم صورت بگیره و یه چیز کامل در اختیار عموم قرار بدیم . ثواب می کنیم به خدا :لبخند: :




<Limit POST PUT DELETE>
</Limit>
<LimitExcept POST GET>
</LimitExcept>



# BEGIN Compress text files
<ifModule mod_deflate.c>
<filesMatch "\.(css|js|php|x?html?)$">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>
# END Compress text files


# BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
# END Expire headers

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
<filesMatch "\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</filesMatch>
</ifModule>
# END Cache-Control Headers

# BEGIN Turn ETags Off
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
# END Turn ETags Off

# BEGIN Remove Last-Modified Header
<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>
# END Remove Last-Modified Header
این کد باعث می شه که خروجی فایلهای پی اچ پی کش بشه. مروگر مایکروسافت با این کد مشکل داره و باید قسمت پی اچ پی رو حذف حذف کنید.

</filesMatch>
<filesMatch "\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</filesMatch>

idocsidocs
سه شنبه 17 خرداد 1390, 20:52 عصر
ببخشید که توی مبحث گرمتون پا گذاشتم.


به طور کلی من توی تمامی سایت ها به این صورت عمل می کنم که یه دوتا چیزش رو نمی دونم چیه ولی پیشنهاد من اینه . اگه ویرایش باید بشه ممنون می شم همین جا اعلام و ویرایشات لازم صورت بگیره و یه چیز کامل در اختیار عموم قرار بدیم . ثواب می کنیم به خدا :لبخند: :
</ifModule>
# END Remove Last-Modified Header[/CODE]
یادم رفت بپرسم. ایت بخش از کد چه کاری انجام می ده؟


<Limit POST PUT DELETE>
</Limit>
<LimitExcept POST GET>
</LimitExcept>

رضا قربانی
چهارشنبه 18 خرداد 1390, 12:46 عصر
یعنی می گید به طور کلی پاکش کنم ؟

اون بخش از کد مربوط به امنیت سایت می شه که بازم دقیق نمی دونم چه عملی انجام می ده (یه دوتا چیزشون رو نمی دونم :لبخند: )

idocsidocs
چهارشنبه 18 خرداد 1390, 13:15 عصر
یعنی می گید به طور کلی پاکش کنم ؟

اون بخش از کد مربوط به امنیت سایت می شه که بازم دقیق نمی دونم چه عملی انجام می ده (یه دوتا چیزشون رو نمی دونم :لبخند: )
من یبار تست کردم و دیدم که مرورگر مایکروسافت، بجای محتویات جدید، فایلهای کش شده رو نمایش می ده. به همین دلیل تصمیم گرفتم که این کد رو حذف کنم.

تا اونجا که می دونم عبارت زیر مربوط به محدود کردن درخواستهای http هست. و جلوی درخواستهای بیش از حد رو می گیره.


<Limit POST PUT DELETE>
</Limit>
<LimitExcept POST GET>
</LimitExcept>

رضا قربانی
چهارشنبه 18 خرداد 1390, 18:01 عصر
اون بر می گرده به تنظیمات مرورگر -

آیا در تمامی مرورگر ها به این صورت بود ؟

idocsidocs
چهارشنبه 18 خرداد 1390, 19:03 عصر
اون بر می گرده به تنظیمات مرورگر -

آیا در تمامی مرورگر ها به این صورت بود ؟
به تنظیمات مرورگر دست نزده بودم و فقط توی اینترنت اکسپلورر 7 این مشکل وجود داشت. شما هم یه تست بکنید.

البته بگم که یه فرم ارسال کنید و یه ارور بگیرید و ارور رو نشون بدید، مثلا بگید که آدرس ایمیل اشتباه می باشد. در این صورت با این مشکل مواجه می شید .

رضا قربانی
پنج شنبه 19 خرداد 1390, 14:36 عصر
تا اونجا که می دونم عبارت زیر مربوط به محدود کردن درخواستهای http هست. و جلوی درخواستهای بیش از حد رو می گیره.

من هیچ جایی نتونستم بفهمم این چه عملی انجام می ده . فقط توی سایتی خونده بودم که مربوط به امنیت سایت می شه و درخواست های get o post رو چک می کنه ولی در کل نمی دونم جریانش چیه .

آیا شما مطمئن هستید ؟
از عزیزان دیگه کسی می دونه ؟

ممنون می شم

eshpilen
پنج شنبه 19 خرداد 1390, 19:22 عصر
منم رفرنس رو نگاهی کردم. فکر نمیکنم زیاد مهم باشه و به کار ما بیاد.
ضمنا اونایی که شما گذاشتید دستورات داخلشون خالی هست که بنظرم نتیجتا کلا اثری ندارن.

رضا قربانی
جمعه 20 خرداد 1390, 13:57 عصر
شما برای Gzip کردن کل سایت (تصاویر و فایل ها و ...) چه روشی رو پیشنهاد می کنید ؟ از چه کدی استفاده کنیم ؟

ممنون می شم راه حل خودتون رو بگید

idocsidocs
جمعه 20 خرداد 1390, 17:36 عصر
شما برای Gzip کردن کل سایت (تصاویر و فایل ها و ...) چه روشی رو پیشنهاد می کنید ؟ از چه کدی استفاده کنیم ؟

ممنون می شم راه حل خودتون رو بگید
همین کد رو استفاده کنید ولی باید پسوند سایر فایلها که می خواید فشرده بشن رو هم به کد اضافه کنیدjpeg|bmp|ping|swf|gif. البته بعضی از دوستان می گن که بهتره تصاویر رو توی سرور فشرده نکنیم و برنامه های گرافیکی این کار رو امجام می دن.

نظر شما چیه؟


# BEGIN Compress text files
<ifModule mod_deflate.c>
<filesMatch "\.(css|js|php|x?html?)$">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>
# END Compress text files

idocsidocs
جمعه 20 خرداد 1390, 17:38 عصر
منم رفرنس رو نگاهی کردم. فکر نمیکنم زیاد مهم باشه و به کار ما بیاد.
ضمنا اونایی که شما گذاشتید دستورات داخلشون خالی هست که بنظرم نتیجتا کلا اثری ندارن.
این کدها برای جلوگیری از درخواستهای بیش از حد مفید هستن. ولی منم طرز استفاده درستشون رو بلد نیسم.

eshpilen
جمعه 20 خرداد 1390, 23:13 عصر
jpg - gif - swf - png اینا همشون فشرده سازی درونی دارن و از قبل فشرده هستن. کسی این قبیل فایلها رو فشرده نمیکنه. چون اگر هم فشرده تر بشن مقدارش خیلی کم هست و به پردازش و منابعی که فشرده سازی مجدد مصرف میکنه نمی ارزه.

idocsidocs
شنبه 21 خرداد 1390, 02:46 صبح
jpg - gif - swf - png اینا همشون فشرده سازی درونی دارن و از قبل فشرده هستن. کسی این قبیل فایلها رو فشرده نمیکنه. چون اگر هم فشرده تر بشن مقدارش خیلی کم هست و به پردازش و منابعی که فشرده سازی مجدد مصرف میکنه نمی ارزه.
فشرده سازی بیشتر روی فایلهای متنی اعمال می شه.

r0ot$harp
شنبه 21 خرداد 1390, 11:46 صبح
دوستان عزیز برای Grade سایت هاتون از افزونه Yslow موزیلا استفاده کنید . تمام راه حل ها رو هم پیشنهاد می ده .

در ضمن برای کش و Expire و E-Tag و GZIP می تونید از دوسایت زیر استفاده کنید .


http://kuppalli.wordpress.com/2009/07/14/apache-configuration-for-etags-gzip-and-expires-header/

http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/

باتشکر احسان

sedamorde
شنبه 21 خرداد 1390, 17:27 عصر
تا جایی که من میدونم و تست کردم فشرده کردن تصاویر کار اشتباهی است. تصاویر باید قبل از آپلود شدن فشرده بشن. eshpilen عزیز هم تقریبا به دلیلش اشاره کرد.
اگر از ابزار web developer و firebug موزیلا استفاده کنید و سایت های مختلف را بررسی کنید متوجه خواهید شد که سایت هایی مثل یاهو، گوگل و ... چطوری فشرده سازی کردن و هیچ کدوم تصاویر را فشرده نکردن.
بهترین راه برای تصاویر، فلش، css ,... کش کردن آنها است که با تنظیم Last Modified از طریق php و htaccess به صورت قابل توجهی میتونید سرعت را افزایش بدید و ترافیک را کم کنید، کاری یاهو و خیلی سایت های دیگه میکنن.

idocsidocs
شنبه 21 خرداد 1390, 17:52 عصر
تا جایی که من میدونم و تست کردم فشرده کردن تصاویر کار اشتباهی است. تصاویر باید قبل از آپلود شدن فشرده بشن. eshpilen عزیز هم تقریبا به دلیلش اشاره کرد.
اگر از ابزار web developer و firebug موزیلا استفاده کنید و سایت های مختلف را بررسی کنید متوجه خواهید شد که سایت هایی مثل یاهو، گوگل و ... چطوری فشرده سازی کردن و هیچ کدوم تصاویر را فشرده نکردن.
بهترین راه برای تصاویر، فلش، css ,... کش کردن آنها است که با تنظیم Last Modified از طریق php و htaccess به صورت قابل توجهی میتونید سرعت را افزایش بدید و ترافیک را کم کنید، کاری یاهو و خیلی سایت های دیگه میکنن.

منظورتون اینه که کش کردن فایلهای سی اس اس و جاوااسکریپت بهتر از فشرده کردنشون هست؟

sedamorde
شنبه 21 خرداد 1390, 18:24 عصر
منظورتون اینه که کش کردن فایلهای سی اس اس و جاوااسکریپت بهتر از فشرده کردنشون هست؟
نه من منظورم این بود که تصاویر را فشرده نکنید فقط کش کنید. فایل های js و css را حتما اول فشرده کنید بعد کش.