Rumah  >  Artikel  >  hujung hadapan web  >  Adakah fail HTML akan dicache?

Adakah fail HTML akan dicache?

WBOY
WBOYasal
2024-02-19 13:51:22619semak imbas

Adakah fail HTML akan dicache?

Tajuk: Mekanisme caching dan contoh kod fail HTML

Pengenalan: Semasa menulis halaman web, kita sering menghadapi masalah cache penyemak imbas. Artikel ini akan memperkenalkan mekanisme caching fail HTML secara terperinci dan menyediakan beberapa contoh kod khusus untuk membantu pembaca memahami dan menggunakan mekanisme ini dengan lebih baik.

1. Prinsip caching penyemak imbas
Dalam penyemak imbas, setiap kali halaman web diakses, penyemak imbas akan terlebih dahulu menyemak sama ada terdapat salinan halaman web dalam cache. Jika ada, kandungan halaman web diperoleh terus daripada cache Ini adalah prinsip asas caching pelayar. Kelebihan mekanisme caching pelayar ialah ia boleh meningkatkan kelajuan memuatkan halaman web, mengurangkan permintaan rangkaian dan menjimatkan lebar jalur.

2. Kaedah cache HTML
Caching fail HTML boleh dikawal dalam dua cara berikut:

  1. Tamat tempoh dan Kawalan Cache
    Dengan menambahkan medan Tamat Tempoh dan Kawalan Cache dalam pengepala respons HTTP, anda boleh mengawal pelayar Masa untuk cache fail. Kod sampel khusus adalah seperti berikut:

    HTTP/1.1 200 OK
    Content-Type: text/html
    Cache-Control: max-age=3600
    Expires: Wed, 04 Aug 2022 08:00:00 GMT
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>

    Dalam kod sampel di atas, medan Cache-Control menentukan masa cache maksimum 3600 saat, iaitu satu jam dan medan Tamat tempoh menentukan masa tamat tempoh cache pada 8:00 pada 4 Ogos 2022.

  2. Last-Modified and If-Modified-Sejak
    Nyatakan masa pengubahsuaian terakhir fail dengan menambahkan medan Last-Modified dalam pengepala respons HTTP. Selepas penyemak imbas menyimpan cache fail, ia akan menambah medan If-Modified-Since pada kali seterusnya ia meminta fail dan menghantar masa pengubahsuaian terakhir fail cache terakhir ke pelayan akan menentukan sama ada fail tersebut telah dikemas kini pada masa ini. Jika fail tidak dikemas kini, respons 304 Not Modified dikembalikan dan penyemak imbas terus menggunakan fail cache. Kod sampel khusus adalah seperti berikut:

    HTTP/1.1 200 OK
    Content-Type: text/html
    Last-Modified: Mon, 01 Aug 2022 12:00:00 GMT
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>

    Dalam kod sampel di atas, medan Terakhir Diubah Suai menentukan masa pengubahsuaian terakhir fail sebagai 12:00 pada 1 Ogos 2022.

3. Strategi kawalan cache
Mengikut keperluan sebenar, kami boleh merangka strategi caching yang berbeza berdasarkan kandungan fail atau syarat lain untuk mengawal caching penyemak imbas dengan lebih baik.

  1. Caching fail statik
    Untuk fail statik yang tidak kerap berubah, anda boleh menetapkan masa cache yang lebih lama supaya penyemak imbas boleh cache fail secara berterusan dan mengurangkan permintaan kepada pelayan. Contohnya, untuk fail statik seperti CSS, JavaScript dan imej, anda boleh menetapkan masa cache kepada satu tahun. Kod sampel adalah seperti berikut:

    HTTP/1.1 200 OK
    Content-Type: text/css
    Cache-Control: max-age=31536000
    
    /* CSS文件内容 */
  2. Cache fail dinamik
    Untuk fail dinamik yang kerap berubah, anda boleh mengawal masa cache menjadi lebih pendek bagi memastikan penyemak imbas boleh mendapatkan kandungan fail terkini tepat pada masanya. Contohnya, fail HTML yang dijana secara dinamik tidak boleh menetapkan sebarang medan cache, membenarkan penyemak imbas meminta versi terkini setiap kali. Kod sampel adalah seperti berikut:

    HTTP/1.1 200 OK
    Content-Type: text/html
    Cache-Control: no-cache, no-store, must-revalidate
    Pragma: no-cache
    Expires: 0
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>
  3. Versi Control Cache
    Apabila fail dikemas kini, pastikan nama fail tidak berubah dan buat penyemak imbas menganggap ia adalah fail baharu dengan menambah nombor versi atau cap masa pada nama fail atau URL dengan itu memuatkan semula fail. Kod sampel adalah seperti berikut:

    <link rel="stylesheet" href="/static/style.css?v=1.0">
    <script src="/static/script.js?t=1627836018"></script>

4. Ringkasan
Caching fail HTML dicapai dengan menetapkan medan yang sepadan dalam pengepala respons HTTP. Dengan mengawal masa dan dasar cache dengan betul, kelajuan pemuatan halaman web dan pengalaman pengguna boleh dipertingkatkan. Dalam pembangunan sebenar, kaedah dan strategi caching yang sesuai dipilih berdasarkan kandungan dan ciri-ciri fail. Kami berharap contoh kod yang disediakan dalam artikel ini dapat membantu pembaca lebih memahami dan menggunakan mekanisme cache HTML.

Atas ialah kandungan terperinci Adakah fail HTML akan dicache?. 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