htaccess - Кэш көмегімен сайт беттерін кэштеу

басып шығару · Время на чтение: 9мин · бойынша · Жарияланды · Жаңартылған

көбейтуМақаланы тыңдаңыз

Статикалық файлдар мен беттерді кэштеу.

.htaccess көмегімен сайт беттерін кэштеу. Техникалық оңтайландырудың бірдей маңызды кезеңі, сияқты gzip қысуды қосу немесе CSS кішірейту. Кэш парақтары мен файлдарын қосу сайттың жылдамдығын айтарлықтай арттыруға мүмкіндік береді. Сондай-ақ кейде сервердегі жүктемені азайтады. Қарапайым манипуляциялардың арқасында сіздің сайтыңыз ұша бастайды.

Бұл мақалада біз осы тақырыптың барлық аспектілері туралы айтатын боламыз. Сайт және оны қолдану үшін кэштің маңыздылығы қандай. Мен тәжірибеде қолдануға болатын мысалдарды сипаттаймын. Сонымен қатар, WordPress үшін өте жақсы кэш плагиндері туралы қысқаша шолу болады.

Сайт кэш дегеніміз не - кэштеу сайтқа қалай әсер етеді

Қарапайым тілмен айтқанда, кэштеу - бұл браузерде пайдаланушыдан сайт туралы ақпаратты сақтау. Осылайша, сервердегі негізгі жүктеме азаяды. Сайттың маңызды бөлігін жүктеудің қажеті жоқ, өйткені оның сақталған бөлігін пайдаланушы браузері жүктейді. Бұл сайтты жүктеуді тездетудің өте тиімді әдісі.

Кэш немесе кэш немесе кэш - жылдам қол жеткізуге болатын аралық алмасу буфері. Жиі сұралатын ақпаратты сақтау және қамту. Кэштегі деректерге қол жеткізу баяу жад көздеріне қарағанда жылдамырақ. Бірақ есте сақтау шегі бар. Қарапайым тілде кэш – қысқа жады.

Сонымен бірге кэштеу пайдаланушыға зиян келтірмейді. Бірақ ол сіздің жобаңызды браузерде көрсетуді жақсартады. Бұл қалай болады! Пайдаланушы сайтқа кірген кезде. Оның жүктелуі қажет болғаннан сәл баяу. Бұл браузер қазіргі уақытта сайттың кейбір көшірмесін сақтайтындығына байланысты. Көбінесе бұл мыналарға қатысты:

  1. логотиптерге;
  2. шағын суреттер;
  3. css файлдары;
  4. жалпы бет құрылымы.

Осылайша, сайттың бір бөлігі үнемі пайдаланушы браузерінің жадында (кэшінде) болады. Осыған байланысты, сайтты қайта жүктегенде, келуші ең жоғары жауап жылдамдығын алады. Браузер осы сәтте кейбір элементтерді жадынан босатады. Ал сайт, ақпараттың үлкен көлемін қайта жіберудің қажеті жоқ.

Сайтта кэш қосылған және конфигурацияланған кезде. Оның белгілі бір бөлігі келушінің шолғышының жергілікті кэшінде қажетті мерзімге сақталады. Қай веб-беттер қайталанса, жылдамырақ жүктеледі.

Сайтты кэштеуді қалай қосуға және конфигурациялауға болады

Мұны істеу мүлдем қиын емес. Біз сервер үшін ережелерді орнататын htaccess файлымен жұмыс істеуді жалғастырамыз. Онымен қалай жұмыс істеу керек, мен көптеген мақалаларда сипаттадым. Сондықтан мен тікелей мәселеге көшемін. Стандартқа сәйкес кэштеу қажетті файлдарға және белгілі бір уақыт кезеңіне орнатылады. Файлды сақтауға берілген уақыт өткеннен кейін оның ағымдағы нұсқасы серверден қайтадан жүктеледі. Ол үшін сізге қажет:

  • FilesMatch типті құрылымды жасаңыз. Онда біз кэштеу үшін қажетті файл кеңейтімдерін көрсетеміз.
  • Әрі қарай, біз max-age айнымалысы бар Cache-Control тақырыбын көрсетеміз. Мұнда Cache-Control сервердің жауап тақырыбы болып табылады. Max-age - файлды сақтау уақытын секундтармен көрсететін айнымалы мән.

FilesMatch құрылымында қолданылатын кеңейтімдердің әдеттегі тізімі:

(ico|pdf|flv|jpg|jpeg|png|gif|webp|js|css|swf|x-html|css|xml|js|woff|woff2|ttf|svg|eot)(\.gz)

Кэштегіңіз келмейтін файлдарды FilesMatch құрылымының тізіміне қосудың қажеті жоқ.

Код мысалы Тақырып жинағы Cache-Control

# кэшті басқару

# 30 күн

Тақырып жинағы кэш-басқару «макс-жас=2592000, жалпыға ортақ»

# 30 күн

Тақырып жинағы кэш-басқару «макс-жас=2592000, жалпыға ортақ»

# 2 күн

Тақырып жинағы Cache-Control “max-age=172800, жалпыға ортақ, қайта тексеру керек”

Мәні -#- түсініктеме! Көріп отырғаныңыздай, түсініктемелер файлдар сақталатын шарттарды көрсетеді. Сондай-ақ мәжбүрлі кэшті өшіру мүмкіндігі бар. Бұл опция динамикалық файлдар үшін қолайлы. Сценарийлерге және әртүрлі сценарийлерге көбірек қатысты.

Мәжбүрлі кэштеуді өшіретін "FilesMatch" құрылымының мысалы


Тақырып кэш-басқару параметрін өшірді

Көріп отырғаныңыздай, мерзімдер жоқ. Сондықтан бұл файл кеңейтімдері кэштелмейді. Бұл дизайнда файл кеңейтімдерін қосуға болады.

Сондай-ақ кэшті басқарудың тағы бір жолы бар - оны WordPrees-тегі көптеген плагиндер пайдаланады. Бұл әдісте mod_expires модулін қолданамыз. Бұл модульдің сервер жағында HTTP жауап тақырыптарын басқару мүмкіндігі бар. Мұнда кэште деректерді сақтаудың негізгі уақытын өзіңіз орнатуға болады.

Онда деректерді сақтау ұзақтығының бірнеше параметрлері бар:

  1. клиентке қол жеткізу уақыты бойынша;
  2. немесе файлдың соңғы модификациясы бойынша;
  3. уақытты орнату;

Қарапайым кэш кодының мысалы

# мерзімі аяқталатын тақырыптар - 2678400s = 31 күн

Белсенді күні аяқталады
Әдепкі "қолжетімділік плюс 1 секунд" аяқталады
ExpiresByType мәтіні/html «кіру плюс 7200 секунд»
ExpiresByType суреті/gif «қолжетімділік плюс 2678400 секунд»
ExpiresByType image/jpeg «қол жеткізу плюс 2678400 секунд»
ExpiresByType image/png «қол жеткізу плюс 2678400 секунд»
ExpiresByType text/css "қолжеткізу плюс 518400 секунд"
ExpiresByType мәтіні/javascript «кіру плюс 2678400 секунд»
ExpiresByType қолданбасы/x-javascript «қол жеткізу плюс 2678400 секунд»

Кэш үшін маңыздырақ пайдалану жағдайы

Белсенді күні аяқталады
ExpiresByType text/css A31536000
ExpiresByType мәтін/x-компонент A31536000
ExpiresByType қолданбасы/x-javascript A31536000
ExpiresByType қолданбасы/javascript A31536000
ExpiresByType мәтіні/javascript A31536000
ExpiresByType text/x-js A31536000
ExpiresByType text/html A3600
ExpiresByType мәтін/richtext A3600
ExpiresByType image/svg+xml A3600
ExpiresByType мәтіні/қарапайым A3600
ExpiresByType text/xsd A3600
ExpiresByType text/xsl A3600
ExpiresByType text/xml A3600
ExpiresByType бейне/asf A31536000
ExpiresByType бейне/avi A31536000
ExpiresByType сурет/bmp A31536000
ExpiresByType қолданбасы/java A31536000
ExpiresByType бейне/divx A31536000
ExpiresByType қолданбасы/msword A31536000
ExpiresByType application/vnd.ms-fontobject A31536000
ExpiresByType қолданбасы/x-msdownload A31536000
ExpiresByType сурет/gif A31536000
ExpiresByType қолданбасы/x-gzip A31536000
ExpiresByType сурет/x-белгішесі A31536000
ExpiresByType image/jpeg A31536000
ExpiresByType сурет/webp A31536000
ExpiresByType қолданбасы/json A31536000
ExpiresByType application/vnd.ms-access A31536000
ExpiresByType аудио/midi A31536000
ExpiresByType бейне/жылдам уақыт A31536000
ExpiresByType аудио/mpeg A31536000
ExpiresByType video/mp4 A31536000
ExpiresByType бейне/mpeg A31536000
ExpiresByType application/vnd.ms-project A31536000
ExpiresByType қолданбасы/x-font-otf A31536000
ExpiresByType application/vnd.ms-opentype A31536000
ExpiresByType application/vnd.oasis.opendocument.database A31536000
ExpiresByType application/vnd.oasis.opendocument.chart A31536000
ExpiresByType application/vnd.oasis.opendocument.formula A31536000
ExpiresByType application/vnd.oasis.opendocument.graphics A31536000
ExpiresByType application/vnd.oasis.opendocument.presentation A31536000
ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000
ExpiresByType application/vnd.oasis.opendocument.text A31536000
ExpiresByType аудио/ogg A31536000
ExpiresByType қолданбасы/pdf A31536000
ExpiresByType сурет/png A31536000
ExpiresByType application/vnd.ms-powerpoint A31536000
ExpiresByType аудио/x-realaudio A31536000
ExpiresByType image/svg+xml A31536000
ExpiresByType қолданбасы/x-shockwave-flash A31536000
ExpiresByType қолданбасы/x-tar A31536000
ExpiresByType сурет/tiff A31536000
ExpiresByType қолданбасы/x-font-ttf A31536000
ExpiresByType application/vnd.ms-opentype A31536000
ExpiresByType аудио/wav A31536000
ExpiresByType аудио/wma A31536000
ExpiresByType application/vnd.ms-A31536000 жазу
ExpiresByType қолданбасы/font-woff A31536000
ExpiresByType қолданбасы/font-woff2 A31536000
ExpiresByType application/vnd.ms-excel A31536000
ExpiresByType қолданбасы/zip A31536000

Көріп отырғанымыздай, бұл жерде кеңейтімдердің үлкен саны әсер етеді. Сақтау мерзімі бірдей.

Браузердегі кэштеу пайдаланушы жағында 3 - 7 күн немесе бір жыл

Мұнда файл кеңейтімдерінің негізгі бөлігі бір жылға сақталады. Көбінесе бұл кескіндер үшін пайдалы, өйткені оларды аз адамдар өзгертеді деп ойлаймын. Осылайша, олар жыл бойы келушілердің браузеріне жүктеледі.

# пайдаланушы жағындағы шолғышты кэштеу

Белсенді күні аяқталады
Жарамдылық мерзімі аяқталадыӘдепкі "қолжетімділік 7 күн"
ExpiresByType қолданбасы/javascript «қол жеткізу плюс 1 жыл»
ExpiresByType мәтіні/Javascript «қол жеткізу плюс 1 жыл»
ExpiresByType text/css «қол жеткізу плюс 1 жыл»
ExpiresByType text/html «қол жеткізу плюс 7 күн»
ExpiresByType мәтіні/x-javascript «1 жылға кіру»
ExpiresByType сурет/gif «қолжетімділік плюс 1 жыл»
ExpiresByType image/jpeg «қол жеткізу плюс 1 жыл»
ExpiresByType image/png «қолжетімділік плюс 1 жыл»
ExpiresByType image/jpg «қолжетімділік плюс 1 жыл»
ExpiresByType суреті/x-белгішесі «1 жылға рұқсат»
ExpiresByType қолданбасы/x-shockwave-flash «1 жылға рұқсат»
ExpiresByType js «3 күндік рұқсат»

Мазмұнды кэштеу (Flash, CSS, JS, HTML, XML) және кескіндер

Бұл мысалда біз кэшті белгілі бір файлдар үшін ғана қолданамыз. Және қысқа мерзімге.

Белсенді күні аяқталады
# кескін кэші
ExpiresByType суреті/x-белгішесі «қолжетімділік плюс 2592000 секунд»
ExpiresByType image/jpeg «қол жеткізу плюс 2592000 секунд»
ExpiresByType image/png «қол жеткізу плюс 2592000 секунд»
ExpiresByType суреті/gif «қолжетімділік плюс 2592000 секунд»
# мазмұн кэші (Flash, CSS, JS, HTML, XML)
ExpiresByType қолданбасы/x-shockwave-flash «қол жеткізу плюс 2592000 секунд»
ExpiresByType мәтіні/css «қол жеткізу плюс 604800 секунд»
ExpiresByType мәтіні/Javascript «қол жеткізу плюс 2592000 секунд»
ExpiresByType қолданбасы/javascript «қол жеткізу плюс 2592000 секунд»
ExpiresByType қолданбасы/x-javascript «қол жеткізу плюс 2592000 секунд»
ExpiresByType мәтіні/html «қол жеткізу плюс 600 секунд»
ExpiresByType application/xhtml+xml «қол жеткізу плюс 600 секунд»

Беттерді және сайт файлдарын кэштеуді орнату соншалықты қиын нәрсе емес. Ең бастысы - дұрыс стратегияны таңдау. Жоғарыда келтірілген мысалдардың барлығын өз қалауыңыз бойынша пайдалануға болады. Стратегияларды сынап көріңіз және дұрыс код опциясын таңдаңыз. Төменде мен WordPress үшін кейбір кэш плагиндері туралы айтатын боламын.

WordPress плагиндерімен кэштеуді орнату

CMS-ті пайдаланатындар үшін WordPress кэш плагиндерінің кең ауқымына ие. Олардың барлығында толық функционалды шешім және автоматты конфигурация бар. Мұндай плагиндерді пайдалану кезінде ерекше проблемалар болмауы керек. Мұндай плагинді орнатқаннан кейін сізге қажет параметрлерді қолдану жеткілікті. Плагин оларды автоматты түрде htaccess файлында сақтайды.

WP ең жылдам кэш

WP Fastest Cache Premium ең жылдам кэш плагині.

WP үшін танымал және жеткілікті қуатты кэштеу плагині. Оның көптеген параметрлері бар, соның ішінде HTML оңтайландыру, CSS және Js. Оны тіпті жаңадан бастаған пайдаланушы да анықтай алады.

WP SuperCache

WP Super Cache - бұл бетті жүктеуді тездетуге арналған плагин.

Өте танымал плагин! Керемет функционалдылық және ыңғайлы параметрлер. Әртүрлі нысандардың үлкен санын кэштеу мүмкіндігі. Плагинді орнату өте қарапайым.

W3 Жалпы кэш

Ең жақсы WordPress кэштеу плагині - W3 Total Cache.

Үлкен сайттар үшін қуатты шешім. Өз түрінің ішіндегі ең танымал плагин. Параметрлер мен функционалдылықтың үлкен таңдауы бар. Сіз оны мұқият конфигурациялауыңыз керек, себебі ол маңызды қателерді тудыруы мүмкін. Басқа плагиндермен немесе тақырыптармен қайшылықтар болуы мүмкін. Бірақ функционалдылық тұрғысынан өте жақсы және қуатты плагин.

Бұл мен өзім пайдаланған негізгі және ең танымал кэш плагиндері. Сіз өзіңіздің қалауларыңызға байланысты кез келгенін таңдай аласыз.

Қорытындылай келе

Бұл мақалада мен мүмкіндігінше кэштеу тақырыбын қамтуға тырыстым. Сипаттамаларыңызға байланысты қолдануға болатын мысалдарды көрсету. Осы нұсқаулықпен кэштеуді орнату сіз үшін сағат механизмі сияқты болады. Бұл мақала ұзақ уақыт бойы өзекті болады деп үміттенемін. Назарларыңызға рахмет, бірақ қоштаспаймын. Келесі мақалаларда кездескенше.

Никола Топты оқығаныңыз үшін рахмет

Пост қаншалықты пайдалы?

Бағалау үшін смайликті басыңыз!

орташа рейтинг 4.9 / 5. Бағалар саны: 25

Әзірге рейтингтер жоқ. Алдымен бағалаңыз.

Сізге де ұнауы мүмкін...

Пікір үстеу

Э-пошта мекенжайыңыз жарияланбайды. Міндетті өрістер * таңбаланған

бес × 3 =