Brauzerlerdäki keş meselesi
Brauzer ulanylýan CSS stilleri, JavaScript skriptleri we surat faýllaryny keşleýär. Keşlemek şu manyny berýär: brauzer ulanylýan faýllary diňe ulanyjynyň saýda ilkinji gezek girmeginde göçürýär. Indiki girişlerde bu faýllar ýene-de göçürilmän, brauzeriň keşinden alnyp geler.
Keşlemek peýdaly. Ol saýtyň ýükleniş tizligini ýokarlandyrmak üçin döredilendir. Sebäbi brauzeriň her gezek faýly internetden göçürmeginden has çalt, ony öz saklanyşyndan almakdyr.
Emma, tizlik üçin kärhanaçylykda amatlylygyň ýerine berilmegi gerek. Mesele şonda: eger siz kodyňyzda bir zat üýtgedip, soňra üýtgeşmeleriňizi hostinge goýsaňyz - saýdyňyza öň giren ähli ulanyjylaryňyzda kodynyň köne keşlenen nusgasy bolar.
Meseläniň ilkinji çözgüdi
Şeýle ýagdaýyň öňüni almak üçin üýtgedilen faýllary her gezek atlandyrmaly. Amaly işde bu amatly däl, şonuň üçin aýlaw usuly ulanylýar. Onuň maksady şonda: faýly ulanmakda faýlyň adyndan soň sorag belgisi, deňlik belgisi we skriptiňiziň wersiýa belgisi goýulýar. Şeýle gurluşa GET parametri diýilýär.
Faýlyň adynda GET parametriniň bolmagy serwer üçin ýoly "bozmaz", öňki ýaly şol faýla görkezýär. Emma brauzer üçin GET parametrini üýtgetmek ýolunyň üýtgedilendigini hasaplamaga we faýly täzeden göçürmäge mejbur edýär.
Keşe garşy göreşmek üçin, kod faýlyňyzda üýtgeşme girizende GET parametriniň bahasyny bir öwürmeli. Şeýle ýagdaýyň ulanylyşyna serediň:
<!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>
Meseläniň ikinji çözgüdi
Has ösen ýagdaý hem bar. Ol faýllaryň adyna, mysal üçin, şeýle tötänleýin setirler goşulýar:
<!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>
Bu setirlere heşler diýilýär. Heş özboluşly setirdir. Ol faýlyň mazmunyndan aýratyn usul bilen hasaplanylýar. Bu şu manyny berýär: her tekste özboluşly heş gabat gelýär. Eger faýlyň teksti üýtgedilse, onda onuň heşi hem başga bolar we ony faýlyň adynda üýtgetmeli bolar.
Elbetde, heşleri hasaplamak we faýllary şeýle atlandyrmak el bilen gowy iş däl. Şonuň üçin bu ýagdaý diňe şonda ulanylýar: bizde heşleri awtomatik hasaplap, faýllary atlandyryp, şeýle-de HTML faýllarynda faýllaryň adlaryny täzelere üýtgetmäge mümkinçilik berýän gural bolsa. Hemmäni etmäge Webpack mümkinçilik berýär. Bizi bu okuw gollanmasy boyunca öwreneris.