Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengubah suai cache js dan css dalam fail melalui php

Bagaimana untuk mengubah suai cache js dan css dalam fail melalui php

PHPz
PHPzasal
2023-03-31 09:10:421016semak imbas

Memandangkan tapak web terus berkembang, kami selalunya perlu mengemas kini fail JS dan CSS dalam tapak web. Tetapi kita semua tahu bahawa penyemak imbas mempunyai mekanisme caching Akibatnya, apabila pengguna melayari tapak web, fail JS dan CSS baharu tidak dikemas kini, dan mereka terus menggunakan fail lama, yang akan mengambil masa yang lama untuk disimpan dalam cache. pelayar. Ini Akan menjejaskan pengalaman pengguna tapak web. Jadi bagaimana untuk menyelesaikan masalah ini? Hari ini, artikel ini akan memperkenalkan cara mengubah suai cache JS dan CSS dalam fail melalui PHP supaya pengguna boleh menggunakan fail JS dan CSS terkini semasa melawati tapak web.

Apakah cache?

Sebelum memperkenalkan cara mengubah suai cache js dan css dalam fail, kita mesti memahami apa itu cache. Caching merujuk kepada menyimpan sementara data yang diminta secara setempat supaya ia boleh diakses dengan lebih cepat apabila maklumat diperlukan seterusnya. Manfaat terbesar caching ialah ia mengurangkan beban pada pelayan, dengan itu meningkatkan prestasi laman web. Walau bagaimanapun, kekurangan caching boleh menyebabkan penyemak imbas menggunakan fail yang telah tamat tempoh dan bukannya versi terkini. Itulah sebabnya kita perlu mengubah suai cache js dan css dalam fail.

Ubah suai cache js dan css

Walau bagaimanapun, sebelum mengubah suai cache js dan css, kita perlu memahami pengetahuan asas kod status HTTP. Kod status HTTP ialah kod berangka tiga digit yang digunakan untuk memberitahu pelanggan hasil permintaan. Antaranya, HTTP 200 bermakna permintaan itu berjaya, manakala HTTP 304 bermakna sumber anda belum dikemas kini lagi. Jika kami mahu penyemak imbas menggunakan fail JS dan CSS baharu, kami perlu mengubah suai kod status HTTP untuk memberitahu penyemak imbas bahawa fail itu perlu diminta semula setiap kali.

Menambah nombor versi

Perkara pertama yang kita perlukan ialah menambah nombor versi pada penghujung kod js dan css. Apabila mengemas kini, nombor versi akan ditukar dengan sewajarnya, dan penyemak imbas akan meminta semula fail kerana perubahan dalam nombor versi. Nombor versi di sini boleh menjadi cap masa atau rentetan yang ditentukan secara sewenang-wenangnya.

<link rel="stylesheet" href="/css/main.css?v=xxx" type="text/css">
<script src="/js/main.js?v=xxxx"></script>

Ubah suai cache fail melalui php

Terdapat dua cara utama untuk mengubah suai cache fail: melalui maklumat pengepala php dan melalui fail htaccess

Dengan maklumat pengepala php

fungsi header() php boleh menetapkan maklumat pengepala http. Kita boleh menggunakan fungsi header() untuk menetapkan maklumat pengepala http bagi kawalan-cache, pragma (protokol) dan tamat tempoh (masa tamat tempoh mutlak) untuk memberitahu penyemak imbas supaya tidak cache. Seperti berikut:

// 设置js和css文件不缓存
header('Cache-Control:no-cache,must-revalidate');
header('Pragma:no-cache');
header('Expires:0');

Melalui fail htaccess

htaccess ialah fail konfigurasi yang digunakan untuk mengkonfigurasi pelayan Web Apache Kami boleh mengubah suai cache dengan mengubah kandungan fail htaccess. Menambah kod berikut selepas fail .htaccess akan menyebabkan penyemak imbas meminta semula fail:

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresDefault "access plus 1 year"
</IfModule>

Ringkasan

Dalam artikel ini, kami mempelajari apa itu caching dan cara Ubah suai js dan cache css dalam fail melalui PHP untuk menyelesaikan masalah cache pelayar. Kami telah memperkenalkan dua kaedah: mengubah suai cache melalui maklumat pengepala PHP dan fail htaccess. Dengan cara ini, dalam proses pembangunan laman web akan datang, kami boleh menyelesaikan masalah caching dengan lebih baik dan meningkatkan kecekapan operasi laman web dan pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimana untuk mengubah suai cache js dan css dalam fail melalui php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn