⊗tlWpBsCP 2 of 55 menu

Мушкилот бо кеш дар браузерҳо

Браузер файлҳои стили CSS, скриптҳои JavaScript ва аксҳоро кеш мекунад. Кеш кардан маънои онро дорад, ки файлҳои пайвастшударо браузер фақат дар вақти аввалини ворид шудани корбар ба сомона боргирӣ мекунад. Дар воридшавиҳои минбаъда ин файлҳо дигар боз боргирӣ намешаванд, балеки аз кеши браузер гирифта мешаванд.

Кеш кардан фоидаовар аст. Он барои баланд бардоштани суръати боргирии сомона сохта шудааст. Зеро барои браузер зудтар аст, ки файлро аз захираи худ гирад, на он ки ҳар бор онро аз интернет боргирӣ кунад.

Аммо, барои суръат бо дилтангӣ дар вақти барномасозӣ пардохт кардан лозим меояд. Масъала ин аст, ки агар шумо чизеро дар коди худ иваз кунед ва сипас тағиротро дар хостинг бор кунед - ҳамаи корбароне, ки аллакай ба сомонаи шумо ворид шуда буданд, нусхаи кешкардаи коди қадимаро хоҳанд дошт.

Ҳалли аввали мушкилот

Барои мубориза бо ин рафтор лозим аст, ки ҳар бор файлҳои тағирёфташуда номгузорӣ карда шаванд. Дар амал ин мувофиқ нест, бинобар ин усули зирак истифода мешавад. Махз он аст, ки дар вақти пайваст кардани файл пас аз номи файл савол, аломати баробарӣ ва рақами версияи скрипти шумо мегузорем. Чунин сохтор параметри GET номида мешавад.

Мавҷудият ёфтани параметри GET дар номи файл "хонандагӣ намекунад" роҳро аз назари сервер, ҳанӯз ҳамон файлро нишон медиҳад. Вале аз назари браузер тағироти параметри GET браузерро маҷбур мекунад роҳи файлро тағирёфташуда ҳисоб кунад ва файлро аз нав боргирӣ кунад.

Барои мубориза бо кеш, вақте ки шумо тағиротро дар файли коди худ ворид мекунед, ба шумо лозим аст, ки қимати параметри GET-ро ба як воҳид зиёд кунед. Мисоли истифодаи ин роҳро бубинед:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="styles.css?v=1"> <script src="script.js?v=1"></script> </head> <body> </body> </html>

Ҳалли дуюми мушкилот

Равиши пешрафтатар низ мавҷуд аст. Он дар он иборат аст, ки ба номҳои файлҳо сатрҳои тасодуфӣ илова карда мешаванд, масалан, ин гуна:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="styles.398db7afe3b52e94bb25.css"> <script src="script.1d12c304c284a752cb9a.js"></script> </head> <body> </body> </html>

Ин сатрҳо хешҳо номида мешаванд. Хеш сатрҳои беназир мебошад. Он аз мӯҳтавои файл тариқи махсус ҳисоб карда мешавад. Ин маънои онро дорад, ки ҳар матн ба хеши беназири худ мувофиқат мекунад. Агар матни файл тағир дода шуда бошад, пас хеши он ҳам дигар хоҳад буд ва мо бояд онро дар номи файл иваз кунем.

Албатта, хешҳоро бо даст ҳисоб кардан ва файлҳоро номгузорӣ кардан кори муносиб нест. Аз ин рӯ, ин равиш танҳо дар ҳолате истифода мешавад, ки агар мо дошта бошем баъзе асбобҳое, ки имкон медиҳанд хешҳоро худкор ҳисоб кунанд ва файлҳоро номгузорӣ кунанд, ва инчунин номҳои файлҳоро ба навтарҳо дар файлҳои HTML иваз кунанд. Webpack ҳамаи ин корҳоро имкон медиҳад. Мо инро дар тамоми дастури таълимӣ меомӯзем.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан