PDA

View Full Version : مشکل کش مرورگر



olampiad
پنج شنبه 12 فروردین 1395, 08:23 صبح
سلام و خسته نباشید
من تو پروژم از htacces برای کش مرورگر استفاده کردم.
ولی تو هر کدوم از این سایت های تست سرعت میرم گزینه ی Leverage browser caching رو صفر قرار میده.
یعنی میگه کش انجام نمیشه.
ب نظرتون مشکل از کجاست؟
از چ کدی تو htacces برای کش کردن استفاده کنم.

اینم کد htacces من:


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]Options -Indexes

<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent</IfModule>

olampiad
پنج شنبه 12 فروردین 1395, 08:24 صبح
RewriteEngine on


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l


RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Options -Indexes




<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml


# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>

Unique
پنج شنبه 12 فروردین 1395, 09:56 صبح
تا جلایی که من میدونم مرورگر خودش cache را اعمال میکنه مگه اینکه شما از cache با ارسال header های مرتبط ممانعت کنید. یعنی در حالت کلی نیاز نیست کاری انجام بدید.

olampiad
پنج شنبه 12 فروردین 1395, 18:57 عصر
ولی من جایی میخوندم که باید به مرورگر بفهمونیم که از کش استفاده کنه.
شما در مورد gzip اطلاعاتی دارین؟
آیا میشه gzip رو روی هاست فعال کرد.
ممنون

olampiad
پنج شنبه 12 فروردین 1395, 19:03 عصر
تو اینترنت خیلی سرچ کردم و دو تا را داره.
یک اینکه با استفاده از htaccess این کار رو انجام بدیم .
که من انجام دادم و نشد.
وراه دوم اینکه با استفاده از توابع زیر در php انجام بدیم.


ob_start("ob_gzhandler");flush();
سوالی که من دارم اینه:
دوستان شما از چ راهی برای gzip کردن استفاده میکنید.
ممنون

olampiad
پنج شنبه 12 فروردین 1395, 19:21 عصر
عذر خواهی میکنم بابت طولانی شدن تاپیک
به این وب سایت من ی سر بزنید.
http://www.stonetown.ir/
من از کجا بفهمم که الآن gzip روی اون فعال هستش یا ن؟
آخه حجم وبسایت من خیلی بالاست به همین خاطر میگم شاید gzip فعال نباشه.
تو هر سایتی که برای تست قرار میدم مشکل حجم وبسایت رو میگه.
به نظرتون حجم 1 مگابابت زیاده ؟

بیشتر حجم وبسایت رو تصاویر اسلایدر به خودشون گرفتن.
برای فشرده سازی تصاویر و یا لود سریع اونها ترفندی سراغ دارید؟
ممنون

MeSaeid
پنج شنبه 12 فروردین 1395, 23:14 عصر
gzip فعال هست

http://checkgzipcompression.com/?url=http%3A%2F%2Fwww.stonetown.ir

با استفاده از این سایت میتونید تصاویرتون رو فشرده کنید اگر از لینوکس استفاده می کنید ابزار های زیادی هست میتونید جستجو کنید

http://optimizilla.com

olampiad
جمعه 13 فروردین 1395, 16:20 عصر
gzip فعال هست

http://checkgzipcompression.com/?url=http%3A%2F%2Fwww.stonetown.ir

با استفاده از این سایت میتونید تصاویرتون رو فشرده کنید اگر از لینوکس استفاده می کنید ابزار های زیادی هست میتونید جستجو کنید

http://optimizilla.com

چ چیزی سرچ کنم تا به ابزار های فشرده تصویر لینوکس برسم.
ممنون

Unique
جمعه 13 فروردین 1395, 18:36 عصر
ولی من جایی میخوندم که باید به مرورگر بفهمونیم که از کش استفاده کنه.
خیر ، مرورگر ها به صورت پیش فرض در صورتی که برنامه نویس Header های مبنی بر عدم cache یا آخرین تاریخ بروزرسانی Resource یا ... را Set نکنه بر اساس تنظیمات خودش و یکسری پارامتر کلی Cache را انجام میده ، Cache میتونه توی لایه های بالاتر مثل Proxy ها چه سمت Client چه سمت ISP اتفاق بیفته.


شما در مورد gzip اطلاعاتی دارین؟
gzip برای این هست که شما اطلاعات ارسالی به مرورگر را فشرده کنید. مثلا فایل های css ،‌جاواا اسکریپت ، خود HTML ، فونت ها و ...


آیا میشه gzip رو روی هاست فعال کرد.
ربطی به هاست نداره ،‌ استفاده از Output Buffering هم به نظر من نیاز نیست و این کار فقط در شرایط بسیار خاص که باید خروجی را یکجا کنترل کرد کاربرد داره. اینکه من میبینم دوستان انجمن انقدر توی کد هاشون استفاده میکنن برای من خیلی جای سوال داره. مثل دوستانی که برای Headers Already Sent استفاده میکنند و ....

بهترین راه اینه از htacess استفاده کنید :

<ifmodule mod_deflate.c>
<filesmatch "\.(js|css|htm|html|php|ttf|woff|eot)">
SetOutputFilter DEFLATE
</filesmatch>
</ifmodule>


بیشتر حجم وبسایت رو تصاویر اسلایدر به خودشون گرفتن.
برای فشرده سازی تصاویر و یا لود سریع اونها ترفندی سراغ دارید؟

در مورد عکس ها هم فشرده سازی اشتباهه چون حجم عکس با فشرده سازی کم نمیشه ،‌jpg خودش فشرده هست ! چی را میخواین فشرده کنین ؟ png ها هم عموما فایل های کوچیک هستند.

یه موضوع مهم دیگه اینکه انقدر مته به خشخاش نگذارین. کاربری که الان اینترنت زیر ۵۱۲ داره کلا باید بی خیالش شد ، الان سرعت 3g هم از ۵۱۲ بیشتره. میخوام بگم یه زمانی بود کاربران Dialup بودن و ما کلی کنترل روی حجم کل سایت میکردیم و واقعا سایت بالای ۱۰۰ کیلوبایت جای انتقاد داشت اما حالا دیگه تا ۱ مگابایت هم قابل انتقاد نیست. اگه حجم عکس هاتون بالاست مشکل از وب و اینترنت و این چیزا نیست. مشکل اینه از ابزار های گرافیکی نمیتونین استفاده کنین !